Move the ubuntu-oneiric settings from the pkg/*.json files to distro/*.yaml. The other YAML files are created, but have not been tested, yet, so the original settings remain in the JSON files. When they are all working, the JSON files should be removed.

This commit is contained in:
Doug Hellmann 2012-03-14 16:44:55 -04:00
parent 868d2b7bcf
commit ce03037f5d
22 changed files with 1681 additions and 670 deletions

502
conf/distros/fedora-16.yaml Normal file
View File

@ -0,0 +1,502 @@
# Fedora 16
name: fedora-16
distro_pattern: fedora-16
packager_name: devstack.packaging.yum:YumPackager
commands:
pip: python-pip
apache:
restart: ["service", "httpd", "restart"]
start: ["service", "httpd", "start"]
stop: ["service", "httpd", "stop"]
status: ["service", "httpd", "status"]
settings:
#ensure runs after wsgi.conf (naming wise)
conf-link-target: /etc/httpd/conf.d/wsgi-horizon-000-default.conf
mysql:
start: ["service", "mysql", 'start']
stop: ["service", 'mysql', "stop"]
status: ["service", 'mysql', "status"]
restart: ["service", 'mysql', "restart"]
#NOTE: we aren't stopping any sql injection...
set_pwd: ['mysql', '--user=%USER%', '--password=%OLD_PASSWORD%', '-e',
"\"USE mysql; UPDATE user SET password=PASSWORD('%NEW_PASSWORD%') WHERE User='%USER%'; FLUSH PRIVILEGES;\""]
create_db: ['mysql', '--user=%USER%', '--password=%PASSWORD%', '-e', 'CREATE DATABASE %DB%;']
drop_db: ['mysql', '--user=%USER%', '--password=%PASSWORD%', '-e', 'DROP DATABASE IF EXISTS %DB%;']
grant_all: ["mysql", "--user=%USER%", "--password=%PASSWORD%", '-e',
"\"GRANT ALL PRIVILEGES ON *.* TO '%USER%'@'%' IDENTIFIED BY '%PASSWORD%'; FLUSH PRIVILEGES;\""]
components:
db:
packages:
- name: mysql
removable: True
version: 5.5*
- name: mysql-server
removable: True
version: 5.5*
general:
packages:
- name: curl
removable: False
version: 7.21.7*
- name: euca2ools
removable: False
version: 1.3.1*
- name: gawk
removable: False
version: 4.0*
- name: git
removable: False
version: 1.7*
- name: iputils
removable: False
version: 20101006*
- name: libxml2-devel
removable: False
version: 2.7*
- name: libxslt-devel
removable: False
version: 1.1.26*
- name: lsof
removable: False
version: 4.84*
- name: mlocate
removable: False
version: 0.24*
- name: openssh-server
removable: False
version: 5.8*
- name: psmisc
removable: False
version: 22.13*
- name: pylint
removable: False
version: 0.24*
- name: python
removable: False
version: 2.7*
- name: python-coverage
removable: False
version: 3.5*
- name: python-devel
removable: False
version: 2.7*
- name: python-distutils-extra
removable: False
version: 2.29*
- name: python-mox
removable: False
version: 0.5.3*
- name: python-nose
removable: False
version: 1.1*
- name: python-pep8
removable: False
version: 0.6*
- name: python-pip
removable: False
version: 0.8*
- name: python-setuptools
removable: False
version: 0.6.24*
- name: python-unittest2
removable: False
version: 0.5.1*
- name: python-virtualenv
removable: False
version: 1.7*
- name: screen
removable: False
version: 4.1.0*
- name: sudo
removable: False
version: 1.8.3*
- name: tcpdump
removable: False
version: 4.1*
- name: unzip
removable: False
version: 6.0*
- name: wget
removable: False
version: 1.12*
glance:
packages:
- name: MySQL-python
removable: True
version: 1.2*
- name: python-argparse
removable: True
version: 1.1*
- name: python-dateutil
removable: True
version: 1.5*
- name: python-eventlet
removable: True
version: 0.9*
- name: python-greenlet
removable: True
version: 0.3.1*
- name: python-httplib2
removable: True
version: 0.6*
- name: python-prettytable
removable: True
version: 0.5*
- name: python-routes
removable: True
version: 1.12*
- name: pyxattr
removable: True
version: 0.5*
horizon:
packages:
- name: Django
removable: True
version: 1.3*
- name: django-registration
removable: True
version: 0.7*
- name: httpd
removable: True
version: 2.2*
- name: mod_wsgi
removable: True
version: 3.3*
- name: python-cherrypy
removable: True
version: 3.2*
- name: python-cloudfiles
removable: True
version: 1.7.9*
- name: python-dateutil
removable: True
version: 1.5*
- name: python-eventlet
removable: True
version: 0.9*
- name: python-kombu
removable: True
version: 1.1*
- name: python-migrate
removable: True
version: 0.7*
- name: python-paste
removable: True
version: 1.7.5*
- name: python-paste-deploy
removable: True
version: 1.5.0*
- name: python-routes
removable: True
version: 1.12*
- name: python-sphinx
removable: True
version: 1.0.7*
- name: python-sqlalchemy
removable: True
version: 0.7*
- name: python-webob
removable: True
version: 1.0*
- name: pyxattr
removable: True
version: 0.5*
keystone-client:
packages:
- name: python-argparse
removable: True
version: 1.1*
- name: python-prettytable
removable: True
version: 0.5*
keystone:
packages:
- name: MySQL-python
removable: True
version: 1.2*
- name: cyrus-sasl-lib
removable: False
version: 2.1*
- name: openldap
removable: False
version: 2.4*
- name: python-argparse
removable: True
version: 1.1*
- name: python-eventlet
removable: True
version: 0.9*
- name: python-greenlet
removable: True
version: 0.3.1*
- name: python-lxml
removable: True
version: 2.3*
- name: python-migrate
removable: True
version: 0.7*
- name: python-passlib
removable: True
version: 1.5*
- name: python-paste
removable: True
version: 1.7.5*
- name: python-paste-deploy
removable: True
version: 1.5*
- name: python-paste-script
removable: True
version: 1.7*
- name: python-prettytable
removable: True
version: 0.5*
- name: python-routes
removable: True
version: 1.12*
- name: python-sqlalchemy
removable: True
version: 0.7*
- name: python-sqlite2
removable: True
version: 2.3*
- name: python-webob
removable: True
version: 1.0*
- name: sqlite
removable: False
version: 3.7*
melange:
packages:
n-api:
packages:
- name: python-dateutil
removable: False
version: 1.5*
n-cpu:
packages:
- name: iscsi-initiator-utils
removable: True
version: 6.2*
- name: libvirt
removable: True
version: 0.9.6*
- name: libvirt-client
removable: True
version: 0.9.6*
- name: libvirt-python
removable: True
version: 0.9.6*
- name: lvm2
removable: True
version: 2.02*
- name: qemu-img
removable: True
version: 0.15*
- name: qemu-system-x86
removable: True
version: 0.15*
n-vnc:
packages:
- name: numpy
removable: True
version: 1.6*
n-vol:
packages:
- name: iscsi-initiator-utils
removable: True
version: 6.2*
- name: lvm2
removable: True
version: 2.02*
- name: scsi-target-utils
removable: True
version: 1.0*
nova-client:
packages:
- name: python-argparse
removable: True
version: 1.1*
- name: python-prettytable
removable: True
version: 0.5*
nova:
packages:
- name: MySQL-python
removable: True
version: 1.2*
- name: dnsmasq
removable: False
version: 2.58*
- name: ebtables
removable: False
version: 2.0*
- name: iptables
removable: False
version: 1.4*
- name: iputils
removable: False
version: 20101006*
- name: kpartx
removable: False
version: 0.4*
- name: libxml2-python
removable: False
version: 2.7*
- name: parted
removable: False
version: 3.0*
- name: python-boto
removable: True
version: 2.0*
- name: python-carrot
removable: True
version: 0.10*
- name: python-cheetah
removable: True
version: 2.4*
- name: python-crypto
removable: False
version: 2.3*
- name: python-eventlet
removable: True
version: 0.9*
- name: python-feedparser
removable: True
version: 5.0*
- name: python-gflags
removable: True
version: 1.5*
- name: python-greenlet
removable: True
version: 0.3.1*
- name: python-kombu
removable: True
version: 1.1*
- name: python-lockfile
removable: True
version: 0.9*
- name: python-lxml
removable: True
version: 2.3*
- name: python-netaddr
removable: True
version: 0.7*
- name: python-paste
removable: True
version: 1.7.5*
- name: python-routes
removable: True
version: 1.12*
- name: python-suds
removable: True
version: 0.4*
- name: pyxattr
removable: True
version: 0.5*
- name: socat
removable: True
version: 1.7*
- name: sqlite
removable: False
version: 3.7*
quantum-client:
packages:
- name: python-gflags
removable: True
version: 1.5*
quantum-openvswitch:
packages:
- name: MySQL-python
removable: True
version: 1.2*
- name: python-sqlalchemy
removable: True
version: 0.7*
quantum:
packages:
- name: python-eventlet
removable: True
version: 0.9*
- name: python-gflags
removable: True
version: 1.5*
- name: python-greenlet
removable: True
version: 0.3*
- name: python-lxml
removable: True
version: 2.3*
- name: python-paste
removable: True
version: 1.7*
- name: python-paste-deploy
removable: True
version: 1.5*
- name: python-routes
removable: True
version: 1.12*
rabbitmq:
packages:
- name: rabbitmq-server
pre-install:
- cmd: ['service', 'qpidd', 'stop']
run_as_root: True
- cmd: ['chkconfig', 'qpidd', 'off']
run_as_root: True
ignore_failure: True
removable: True
version: 2.6*
swift:
packages:
- name: memcached
removable: True
version: 1.4*
- name: python-configobj
removable: True
version: 4.7*
- name: python-eventlet
removable: True
version: 0.9*
- name: python-greenlet
removable: True
version: 0.3*
- name: python-netifaces
removable: True
version: 0.5*
- name: python-paste-deploy
removable: True
version: 1.5*
- name: python-webob
removable: True
version: 1.0*
- name: pyxattr
removable: True
version: 0.5*
- name: sqlite
removable: True
version: 3.7*

493
conf/distros/rhel-6.yaml Normal file
View File

@ -0,0 +1,493 @@
# RedHat Enterprise Linux 6
name: rhel-6
distro_pattern: redhat-6\\.2
packager_name: devstack.packaging.yum:YumPackager
commands:
pip: python-pip
apache:
restart: ["service", "httpd", "restart"]
start: ["service", "httpd", "start"]
stop: ["service", "httpd", "stop"]
status: ["service", "httpd", "status"]
settings:
#ensure runs after wsgi.conf (naming wise)
conf-link-target: /etc/httpd/conf.d/wsgi-horizon-000-default.conf
mysql:
start: ["service", "mysql", 'start']
stop: ["service", 'mysql', "stop"]
status: ["service", 'mysql', "status"]
restart: ["service", 'mysql', "restart"]
#NOTE: we aren't stopping any sql injection...
set_pwd: ['mysql', '--user=%USER%', '--password=%OLD_PASSWORD%', '-e',
"\"USE mysql; UPDATE user SET password=PASSWORD('%NEW_PASSWORD%') WHERE User='%USER%'; FLUSH PRIVILEGES;\""]
create_db: ['mysql', '--user=%USER%', '--password=%PASSWORD%', '-e', 'CREATE DATABASE %DB%;']
drop_db: ['mysql', '--user=%USER%', '--password=%PASSWORD%', '-e', 'DROP DATABASE IF EXISTS %DB%;']
grant_all: ["mysql", "--user=%USER%", "--password=%PASSWORD%", '-e',
"\"GRANT ALL PRIVILEGES ON *.* TO '%USER%'@'%' IDENTIFIED BY '%PASSWORD%'; FLUSH PRIVILEGES;\""]
components:
db:
packages:
- name: mysql
removable: True
version: 5.1*
- name: mysql-server
removable: True
version: 5.1*
general:
packages:
- name: coreutils
removable: False
version: 8.4*
- name: curl
removable: False
version: 7.19.7*
- name: euca2ools
meta:
epel: True
removable: False
version: 1.3.1*
- name: gawk
removable: False
version: 3.1*
- name: git
removable: False
version: 1.7*
- name: iputils
removable: False
version: 20071127*
- name: libxml2-devel
removable: False
version: 2.7*
- name: libxslt-devel
removable: False
version: 1.1.26*
- name: lsof
removable: False
version: 4.82*
- name: mlocate
removable: False
version: 0.22*
- name: openssh-server
removable: False
version: 5.3*
- name: psmisc
removable: False
version: 22.6*
- name: pylint
meta:
epel: True
removable: False
version: 0.21*
- name: python
removable: False
version: 2.6*
- name: python-devel
removable: False
version: 2.6*
- name: python-distutils-extra
meta:
epel: True
removable: False
version: 2.29*
- name: python-mox
meta:
epel: True
removable: False
version: 0.5.3*
- name: python-pep8
meta:
epel: True
removable: False
version: 0.6*
- name: python-pip
meta:
epel: True
removable: False
version: 0.8*
- name: python-setuptools
removable: False
version: 0.6.10*
- name: python-unittest2
meta:
epel: True
removable: False
version: 0.5.1*
- name: python-virtualenv
meta:
epel: True
removable: False
version: 1.7*
- name: screen
removable: False
version: 4.0.3*
- name: sudo
removable: False
version: 1.7.4*
- name: tcpdump
removable: False
version: 4.0*
- name: unzip
removable: False
version: 6.0*
- name: wget
removable: False
version: 1.12*
glance:
packages:
- name: MySQL-python
removable: True
version: 1.2*
- name: python-argparse
meta:
epel: True
removable: True
version: 1.2*
- name: python-dateutil
removable: True
version: 1.4*
- name: python-eventlet
meta:
epel: True
removable: True
version: 0.9*
- name: python-greenlet
meta:
epel: True
removable: True
version: 0.3.1*
- name: python-httplib2
meta:
epel: True
removable: True
version: 0.4*
- name: python-prettytable
meta:
epel: True
removable: True
version: 0.5*
- name: pyxattr
meta:
epel: True
removable: True
version: 0.5*
horizon:
packages:
- name: httpd
removable: True
version: 2.2*
- name: mod_wsgi
removable: True
version: 3.2*
- name: python-dateutil
removable: True
version: 1.4*
- name: python-eventlet
meta:
epel: True
removable: True
version: 0.9*
- name: python-kombu
meta:
epel: True
removable: True
version: 1.1*
- name: python-webob1.0
meta:
epel: True
removable: True
version: 1.0*
keystone-client:
packages:
- name: python-argparse
meta:
epel: True
removable: True
version: 1.2*
- name: python-prettytable
meta:
epel: True
removable: True
version: 0.5*
keystone:
packages:
- name: MySQL-python
removable: True
version: 1.2*
- name: cyrus-sasl-lib
removable: False
version: 2.1*
- name: openldap
removable: False
version: 2.4*
- name: openldap-devel
removable: True
version: 2.4*
- name: python-argparse
meta:
epel: True
removable: True
version: 1.2*
- name: python-eventlet
meta:
epel: True
removable: True
version: 0.9*
- name: python-greenlet
meta:
epel: True
removable: True
version: 0.3.1*
- name: python-lxml
removable: True
version: 2.2*
- name: python-passlib
meta:
epel: True
removable: True
version: 1.5*
- name: python-prettytable
meta:
epel: True
removable: True
version: 0.5*
- name: python-sqlite2
meta:
epel: True
removable: True
version: 2.3*
- name: python-webob1.0
meta:
epel: True
removable: True
version: 1.0*
- name: sqlite
removable: False
version: 3.6*
melange:
packages:
n-api:
packages:
- name: python-dateutil
removable: False
version: 1.4*
n-cpu:
packages:
- name: iscsi-initiator-utils
removable: True
version: 6.2*
- name: libguestfs
removable: True
version: 1.2.7*
- name: libguestfs-mount
removable: True
version: 1.7.17*
- name: libguestfs-tools
removable: True
version: 1.7.17*
- name: libvirt
removable: True
version: 0.9.4*
- name: libvirt-client
removable: True
version: 0.9.4*
- name: libvirt-python
removable: True
version: 0.9.4*
- name: lvm2
removable: True
version: 2.02*
- name: qemu-img
removable: True
version: 0.12*
- name: qemu-kvm
removable: True
version: 2*
n-vnc:
packages:
n-vol:
packages:
- name: iscsi-initiator-utils
removable: True
version: 6.2*
- name: lvm2
removable: True
version: 2.02*
- name: scsi-target-utils
removable: True
version: 1.0*
nova-client:
packages:
- name: python-argparse
meta:
epel: True
removable: True
version: 1.2*
- name: python-prettytable
meta:
epel: True
removable: True
version: 0.5*
nova:
packages:
- name: MySQL-python
removable: True
version: 1.2*
- name: dnsmasq
removable: False
version: 2.48*
- name: ebtables
removable: False
version: 2.0*
- name: iptables
removable: False
version: 1.4*
- name: iputils
removable: False
version: 20071127*
- name: kpartx
removable: False
version: 0.4*
- name: libxml2-python
removable: False
version: 2.7*
- name: parted
removable: False
version: 2.1*
- name: python-boto
meta:
epel: True
removable: True
version: 2.0*
- name: python-carrot
meta:
epel: True
removable: True
version: 0.10*
- name: python-cheetah
removable: True
version: 2.4*
- name: python-crypto
removable: False
version: 2.0*
- name: python-eventlet
meta:
epel: True
removable: True
version: 0.9*
- name: python-feedparser
meta:
epel: True
removable: True
version: 5.0*
- name: python-gflags
meta:
epel: True
removable: True
version: 1.4*
- name: python-greenlet
meta:
epel: True
removable: True
version: 0.3.1*
- name: python-kombu
meta:
epel: True
removable: True
version: 1.1*
- name: python-lockfile
meta:
epel: True
removable: True
version: 0.8*
- name: python-lxml
removable: True
version: 2.2*
- name: python-netaddr
removable: True
version: 0.7*
- name: python-suds
removable: True
version: 0.4*
- name: pyxattr
meta:
epel: True
removable: True
version: 0.5*
- name: socat
meta:
epel: True
removable: True
version: 1.7*
- name: sqlite
removable: False
version: 3.6*
quantum-client:
packages:
- name: python-gflags
meta:
epel: True
removable: True
version: 1.4*
quantum-openvswitch:
packages:
quantum:
packages:
- name: libxml2-python
removable: False
version: 2.7*
- name: python-eventlet
meta:
epel: True
removable: True
version: 0.9*
- name: python-gflags
meta:
epel: True
removable: True
version: 1.4*
- name: python-greenlet
meta:
epel: True
removable: True
version: 0.3.1*
rabbitmq:
packages:
- name: rabbitmq-server
meta:
epel: True
pre-install:
- cmd: ['service', 'qpidd', 'stop']
run_as_root: True
ignore_failure: True
- cmd: ['chkconfig', 'qpidd', 'off']
run_as_root: True
ignore_failure: True
removable: True
version: 2.6*
swift:
packages:

View File

@ -0,0 +1,645 @@
# Ubuntu 11 (Oneiric)
# FIXME: Component dependencies should go into personas, not distros.
name: ubuntu-oneiric
distro_pattern: Ubuntu(.*)oneiric
packager_name: devstack.packaging.apt:AptPackager
commands:
pip: pip
apache:
restart: ["service", "apache2", "restart"]
start: ["service", "apache2", "start"]
stop: ["service", "apache2", "stop"]
status: ["service", "apache2", "status"]
settings:
conf-link-target: /etc/apache2/sites-enabled/000-default
mysql:
start: ["service", "mysql", 'start']
stop: ["service", 'mysql', "stop"]
status: ["service", 'mysql', "status"]
restart: ["service", 'mysql', "restart"]
#NOTE: we aren't stopping any sql injection...
set_pwd: ['mysql', '--user=%USER%', '--password=%OLD_PASSWORD%', '-e',
"\"USE mysql; UPDATE user SET password=PASSWORD('%NEW_PASSWORD%') WHERE User='%USER%'; FLUSH PRIVILEGES;\""]
create_db: ['mysql', '--user=%USER%', '--password=%PASSWORD%', '-e', 'CREATE DATABASE %DB%;']
drop_db: ['mysql', '--user=%USER%', '--password=%PASSWORD%', '-e', 'DROP DATABASE IF EXISTS %DB%;']
grant_all: ["mysql", "--user=%USER%", "--password=%PASSWORD%", '-e',
"\"GRANT ALL PRIVILEGES ON *.* TO '%USER%'@'%' IDENTIFIED BY '%PASSWORD%'; FLUSH PRIVILEGES;\""]
components:
db:
install: devstack.distros.oneiric:OneiricDBInstaller
uninstall: devstack.components.db:DBUninstaller
start: devstack.components.db:DBRuntime
stop: devstack.components.db:DBRuntime
packages:
- name: mysql-client-5.1
version: 5.1*
removable: true
- name: mysql-server-core-5.1
version: 5.1*
removable: true
- name: mysql-common
version: 5.1*
removable: true
- name: mysql-server-5.1
version: 5.1*
removable: true
pre-install:
# This apparently is a action needed for ubuntu/debian to set the password to something known....
- run_as_root: true
cmd: ["debconf-set-selections"]
stdin: |
mysql-server-5.1 mysql-server/root_password password %PASSWORD%
mysql-server-5.1 mysql-server/root_password_again password %PASSWORD%
mysql-server-5.1 mysql-server/start_on_boot boolean %BOOT_START%
general:
packages:
- name: curl
removable: false
version: 7.21.6*
- name: euca2ools
removable: false
version: 2.0.0*
- name: git
removable: false
version: 1:1*
- name: gawk
version: 1:3*
removable: false
- name: iputils-ping
removable: false
version: 3:20101006*
- name: locate
removable: false
version: 4.4.2*
- name: lsof
removable: false
version: 4.81*
- name: openssh-server
removable: false
version: 1:5.8*
- name: pep8
removable: false
version: 0.6.1*
- name: psmisc
removable: false
version: 22.14*
- name: pylint
removable: false
version: 0.23*
- name: python
removable: false
version: 2.7.2*
- name: python-coverage
removable: false
version: 3.4*
- name: python-pip
removable: false
version: 1.0*
- name: python-unittest2
removable: false
version: 0.5.1*
- name: python-virtualenv
removable: false
version: 1.6.4*
- name: python-setuptools
version: 0.6.16*,
removable: false
- name: python-dev
version: 2.7.2*,
removable: false
- name: python-nose
version: 1.0.0*,
removable: false
- name: python-mox
version: 0.5.3*,
removable: false
- name: screen
removable: false
version: 4.0.3*
- name: sudo
removable: false,
version : 1.7.4*
- name: tcpdump
removable: false
version: 4.1.1*
- name: unzip
removable: false
version: 6.0*
- name: wget
removable: false
version: 1.12*
glance:
install: devstack.components.glance:GlanceInstaller
uninstall: devstack.components.glance:GlanceUninstaller
start: devstack.components.glance:GlanceRuntime
stop: devstack.components.glance:GlanceRuntime
dependencies:
- keystone
- db
packages:
- name: python-eventlet
version: 0.9*
removable: true
- name: python-routes
version: 1.12*
removable: true
- name: python-greenlet
version: 0.3.1*
removable: true
- name: python-argparse
version: 1.1*
removable: true
- name: python-prettytable
version: 0.5*
removable: true
- name: python-mysqldb
version: 1.2*
removable: true
- name: python-sqlalchemy
version: 0.6.8*
removable: true
- name: python-pastedeploy
version: 1.5.0*
removable: true
- name: python-xattr
version: 0.6*
removable: true
- name: python-dateutil
version: 1.4*
removable: true
- name: python-httplib2
version: 0.7*
removable: true
horizon:
install: devstack.components.horizon:HorizonInstaller
uninstall: devstack.components.horizon:HorizonUninstaller
start: devstack.components.horizon:HorizonRuntime
stop: devstack.components.horizon:HorizonRuntime
dependencies:
- keystone-client
- glance
- nova-client
- quantum-client
packages:
- name: apache2
removable: True
version: 2.2*
- name: apache2-mpm-worker
removable: True
version: 2.2*
- name: apache2-utils
removable: True
version: 2.2*
- name: apache2.2-bin
removable: True
version: 2.2*
- name: apache2.2-common
removable: True
version: 2.2*
- name: libapache2-mod-wsgi
removable: True
version: 3.3*
- name: python-cherrypy3
removable: True
version: 3.1*
- name: python-dateutil
removable: True
version: 1.4*
- name: python-django
removable: True
version: 1.3*
- name: python-django-mailer
removable: True
version: 0.2*
- name: python-django-nose
removable: True
version: 0.1*
- name: python-django-registration
removable: True
version: 0.7*
- name: python-eventlet
removable: True
version: 0.9*
- name: python-kombu
removable: True
version: 1.0*
- name: python-migrate
removable: True
version: 0.7*
- name: python-paste
removable: True
version: 1.7.5*
- name: python-pastedeploy
removable: True
version: 1.5.0*
- name: python-routes
removable: True
version: 1.12*
- name: python-sqlalchemy
removable: True
version: 0.6*
- name: python-webob
removable: True
version: 1.0*
keystone-client:
install: devstack.components.keystone_client:KeyStoneClientInstaller
uninstall: devstack.components.keystone_client:KeyStoneClientUninstaller
start: devstack.components.keystone_client:KeyStoneClientRuntime
stop: devstack.components.keystone_client:KeyStoneClientRuntime
packages:
- name: python-argparse
removable: True
version: 1.1*
- name: python-prettytable
removable: True
version: 0.5*
keystone:
install: devstack.components.keystone:KeystoneInstaller
uninstall: devstack.components.keystone:KeystoneUninstaller
start: devstack.components.keystone:KeystoneRuntime
stop: devstack.components.keystone:KeystoneRuntime
dependencies:
- db
- keystone-client
packages:
- name: libldap2-dev
removable: True
version: 2.4*
- name: libsasl2-dev
removable: True
version: 2.1*
- name: python-argparse
removable: True
version: 1.1*
- name: python-bcrypt
removable: True
version: 0.1*
- name: python-eventlet
removable: True
version: 0.9*
- name: python-greenlet
removable: True
version: 0.3*
- name: python-lxml
removable: True
version: 2.3*
- name: python-migrate
removable: True
version: 0.7*
- name: python-mysqldb
removable: True
version: 1.2*
- name: python-paste
removable: True
version: 1.7.5*
- name: python-pastedeploy
removable: True
version: 1.5*
- name: python-pastescript
removable: True
version: 1.7*
- name: python-prettytable
removable: True
version: 0.5*
- name: python-pysqlite2
removable: True
version: 2.6*
- name: python-routes
removable: True
version: 1.12*
- name: python-sqlalchemy
removable: True
version: 0.6*
- name: python-webob
removable: True
version: 1.0*
- name: sqlite3
removable: True
version: 3.7*
melange:
install: devstack.components.melange:MelangeInstaller
uninstall: devstack.components.melange:MelangeUninstaller
start: devstack.components.melange:MelangeRuntime
stop: devstack.components.melange:MelangeRuntime
dependencies:
- db
packages:
- name: python-eventlet
removable: True
version: 0.9*
- name: python-greenlet
removable: True
version: 0.3.1*
- name: python-mysqldb
removable: True
version: 1.2*
- name: python-paste
removable: True
version: 1.7.5*
- name: python-pastedeploy
removable: True
version: 1.5*
- name: python-routes
removable: True
version: 1.12*
- name: python-sqlalchemy
removable: True
version: 0.6*
- name: python-webob
removable: True
version: 1.0*
n-api:
packages:
- name: python-dateutil
removable: True
version: 1.4*
n-cpu:
packages:
- name: kvm
removable: True
version: 1:84*
- name: libvirt-bin
removable: True
version: 0.9*
- name: libvirt0
removable: True
version: 0.9*
- name: lvm2
removable: True
version: 2.02*
- name: open-iscsi
removable: True
version: 2.0*
- name: open-iscsi-utils
removable: True
version: 2.0*
- name: python-libvirt
removable: True
version: 0.9.2*
- name: qemu-kvm
removable: True
version: 0.14.*
n-vnc:
install: devstack.components.novnc:NoVNCInstaller
uninstall: devstack.components.novnc:NoVNCUninstaller
start: devstack.components.novnc:NoVNCRuntime
stop: devstack.components.novnc:NoVNCRuntime
packages:
- name: python-numpy
removable: True
version: 1:1.5*
n-vol:
packages:
- name: iscsitarget
removable: True
version: 1.4*
- name: lvm2
removable: True
version: 2.02*
- name: tgt
removable: True
version: 1:1*
nova-client:
install: devstack.components.nova_client:NovaClientInstaller
uninstall: devstack.components.nova_client:NovaClientUninstaller
start: devstack.components.nova_client:NovaClientRuntime
stop: devstack.components.nova_client:NovaClientRuntime
packages:
- name: python-argparse
removable: True
version: 1.1*
- name: python-prettytable
removable: True
version: 0.5*
nova:
install: devstack.components.nova:NovaInstaller
uninstall: devstack.components.nova:NovaUninstaller
start: devstack.components.nova:NovaRuntime
stop: devstack.components.nova:NovaRuntime
dependencies:
- keystone
- glance
- db
- rabbit
- nova-client
packages:
- name: dnsmasq-base
removable: True
version: 2.57*
- name: dnsmasq-utils
removable: True
version: 2.57*
- name: ebtables
removable: True
version: 2.0*
- name: iptables
removable: False
version: 1.4*
- name: iputils-arping
removable: True
version: 3:20101006*
- name: kpartx
removable: True
version: 0.4*
- name: parted
removable: True
version: 2.3*
- name: python-boto
removable: True
version: 2.0*
- name: python-carrot
removable: True
version: 0.10*
- name: python-cheetah
removable: True
version: 2.4*
- name: python-crypto
removable: True
version: 2.3*
- name: python-eventlet
removable: True
version: 0.9*
- name: python-feedparser
removable: True
version: 5.0*
- name: python-gflags
removable: True
version: 1.5*
- name: python-greenlet
removable: True
version: 0.3*
- name: python-kombu
removable: True
version: 1.0*
- name: python-libxml2
removable: True
version: 2.7*
- name: python-lockfile
removable: True
version: 1:0*
- name: python-lxml
removable: True
version: 2.3*
- name: python-migrate
removable: True
version: 0.7*
- name: python-mysqldb
removable: True
version: 1.2*
- name: python-netaddr
removable: True
version: 0.7*
- name: python-paste
removable: True
version: 1.7*
- name: python-pastedeploy
allowed: ">="
removable: True
version: 1.5.0-2
- name: python-routes
removable: True
version: 1.12*
- name: python-sqlalchemy
removable: True
version: 0.6*
- name: python-suds
removable: True
version: 0.4*
- name: python-tempita
removable: True
version: 0.5*
- name: python-xattr
removable: True
version: 0.6*
- name: socat
removable: True
version: 1.7*
- name: sqlite3
removable: True
version: 3.7*
- name: vlan
removable: True
version: 1.9*
quantum-client:
install: devstack.components.quantum_client:QuantumClientInstaller
uninstall: devstack.components.quantum_client:QuantumClientUninstaller
start: devstack.components.quantum_client:QuantumClientRuntime
stop: devstack.components.quantum_client:QuantumClientRuntime
packages:
- name: python-gflags
removable: True
version: 1.5*
quantum-openvswitch:
packages:
- name: openvswitch-datapath-dkms
removable: True
version: 1.2*
- name: openvswitch-switch
removable: True
version: 1.2*
- name: python-mysqldb
removable: True
version: 1.2*
- name: python-sqlalchemy
removable: True
version: 0.6*
quantum:
install: devstack.components.quantum:QuantumInstaller
uninstall: devstack.components.quantum:QuantumUninstaller
start: devstack.components.quantum:QuantumRuntime
stop: devstack.components.quantum:QuantumRuntime
packages:
- name: python-eventlet
removable: True
version: 0.9*
- name: python-gflags
removable: True
version: 1.5*
- name: python-greenlet
removable: True
version: 0.3*
- name: python-lxml
removable: True
version: 2.3*
- name: python-paste
removable: True
version: 1.7*
- name: python-pastedeploy
removable: True
version: 1.5*
- name: python-routes
removable: True
version: 1.12*
rabbit:
install: devstack.components.rabbit:RabbitInstaller
uninstall: devstack.components.rabbit:RabbitUninstaller
start: devstack.components.rabbit:RabbitRuntime
stop: devstack.components.rabbit:RabbitRuntime
packages:
- name: rabbitmq-server
removable: True
version: 2.5*
swift:
install: devstack.components.swift:SwiftInstaller
uninstall: devstack.components.swift:SwiftUninstaller
start: devstack.components.swift:SwiftRuntime
stop: devstack.components.swift:SwiftRuntime
dependencies:
- keystone-client
packages:
- name: memcached
removable: True
version: 1.4*
- name: python-configobj
removable: True
version: 4.7*
- name: python-eventlet
removable: True
version: 0.9*
- name: python-greenlet
removable: True
version: 0.3*
- name: python-netifaces
removable: True
version: 0.5*
- name: python-pastedeploy
removable: True
version: 1.5*
- name: python-webob
removable: True
version: 1.0*
- name: python-xattr
removable: True
version: 0.6*
- name: sqlite3
removable: True
version: 3.7*
- name: xfsprogs
removable: True
version: 3.1*

View File

@ -4,108 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"curl": {
"removable": false,
"version": "7.21.6*"
},
"euca2ools": {
"removable": false,
"version": "2.0.0*"
},
"git": {
"removable": false,
"version": "1:1*"
},
"gawk": {
"version": "1:3*",
"removable": false
},
"iputils-ping": {
"removable": false,
"version": "3:20101006*"
},
"locate": {
"removable": false,
"version": "4.4.2*"
},
"lsof": {
"removable": false,
"version": "4.81*"
},
"openssh-server": {
"removable": false,
"version": "1:5.8*"
},
"pep8": {
"removable": false,
"version": "0.6.1*"
},
"psmisc": {
"removable": false,
"version": "22.14*"
},
"pylint": {
"removable": false,
"version": "0.23*"
},
"python": {
"removable": false,
"version": "2.7.2*"
},
"python-coverage": {
"removable": false,
"version": "3.4*"
},
"python-pip": {
"removable": false,
"version": "1.0*"
},
"python-unittest2": {
"removable": false,
"version": "0.5.1*"
},
"python-virtualenv": {
"removable": false,
"version": "1.6.4*"
},
"python-setuptools": {
"version": "0.6.16*",
"removable": false
},
"python-dev": {
"version": "2.7.2*",
"removable": false
},
"python-nose": {
"version": "1.0.0*",
"removable": false
},
"python-mox": {
"version": "0.5.3*",
"removable": false
},
"screen": {
"removable": false,
"version": "4.0.3*"
},
"sudo": {
"removable": false,
"version" : "1.7.4*"
},
"tcpdump": {
"removable": false,
"version": "4.1.1*"
},
"unzip": {
"removable": false,
"version": "6.0*"
},
"wget": {
"removable": false,
"version": "1.12*"
}
},
"rhel-6": {
"curl": {
"removable": false,

View File

@ -4,52 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"python-eventlet": {
"version": "0.9*",
"removable": true
},
"python-routes": {
"version": "1.12*",
"removable": true
},
"python-greenlet": {
"version": "0.3.1*",
"removable": true
},
"python-argparse": {
"version": "1.1*",
"removable": true
},
"python-prettytable": {
"version": "0.5*",
"removable": true
},
"python-mysqldb": {
"version": "1.2*",
"removable": true
},
"python-sqlalchemy": {
"version": "0.6.8*",
"removable": true
},
"python-pastedeploy": {
"version": "1.5.0*",
"removable": true
},
"python-xattr": {
"version": "0.6*",
"removable": true
},
"python-dateutil": {
"version": "1.4*",
"removable": true
},
"python-httplib2": {
"version": "0.7*",
"removable": true
}
},
"rhel-6": {
"python-eventlet": {
"version": "0.9*",

View File

@ -4,91 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
# We list out all of apaches so that it gets purged (fully)
# This seems to resolve the apache issue @ https://github.com/yahoo/Openstack-DevstackPy/wiki/Problems-Solved
# Or http://dancingpenguinsoflight.com/2009/02/how-to-completely-reset-an-apache-instance-in-ubuntu/
"apache2": {
"version": "2.2*",
"removable": true
},
"apache2-utils": {
"version": "2.2*",
"removable": true
},
"apache2.2-common": {
"version": "2.2*",
"removable": true
},
"apache2.2-bin": {
"version": "2.2*",
"removable": true
},
"apache2-mpm-worker": {
"version": "2.2*",
"removable": true
},
"libapache2-mod-wsgi": {
"version": "3.3*",
"removable": true
},
"python-dateutil": {
"version": "1.4*",
"removable": true
},
"python-paste": {
"version": "1.7.5*",
"removable": true
},
"python-pastedeploy": {
"version": "1.5.0*",
"removable": true
},
"python-routes": {
"version": "1.12*",
"removable": true
},
"python-sqlalchemy": {
"version": "0.6*",
"removable": true
},
"python-webob": {
"version": "1.0*",
"removable": true
},
"python-kombu": {
"version": "1.0*",
"removable": true
},
"python-eventlet": {
"version": "0.9*",
"removable": true
},
"python-cherrypy3": {
"version": "3.1*",
"removable": true
},
"python-django": {
"version": "1.3*",
"removable": true
},
"python-django-mailer": {
"version": "0.2*",
"removable": true
},
"python-django-nose": {
"version": "0.1*",
"removable": true
},
"python-django-registration": {
"version": "0.7*",
"removable": true
},
"python-migrate": {
"version": "0.7*",
"removable": true
}
},
"rhel-6": {
"httpd": {
"version": "2.2*",

View File

@ -4,16 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"python-prettytable": {
"version": "0.5*",
"removable": true
},
"python-argparse": {
"version": "1.1*",
"removable": true
}
},
"rhel-6": {
"python-argparse": {
"version": "1.2*",

View File

@ -4,81 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"python-eventlet": {
"version": "0.9*",
"removable": true
},
"python-lxml": {
"version": "2.3*",
"removable": true
},
"python-pastescript": {
"version": "1.7*",
"removable": true
},
"python-prettytable": {
"version": "0.5*",
"removable": true
},
"python-mysqldb": {
"version": "1.2*",
"removable": true
},
"python-migrate": {
"version": "0.7*",
"removable": true
},
"python-pastedeploy": {
"version": "1.5*",
"removable": true
},
"python-paste": {
"version": "1.7.5*",
"removable": true
},
"sqlite3": {
"version": "3.7*",
"removable": true
},
"python-pysqlite2": {
"version": "2.6*",
"removable": true
},
"python-sqlalchemy": {
"version": "0.6*",
"removable": true
},
"python-webob": {
"version": "1.0*",
"removable": true
},
"python-greenlet": {
"version": "0.3*",
"removable": true
},
"python-argparse": {
"version": "1.1*",
"removable": true
},
"python-routes": {
"version": "1.12*",
"removable": true
},
"libldap2-dev": {
"removable": true,
"version": "2.4*",
"removable": true
},
"libsasl2-dev": {
"version": "2.1*",
"removable": true
},
"python-bcrypt": {
"version": "0.1*",
"removable": true
}
},
"rhel-6": {
"python-eventlet": {
"version": "0.9*",

View File

@ -4,40 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"python-eventlet": {
"version": "0.9*",
"removable": true
},
"python-greenlet": {
"version": "0.3.1*",
"removable": true
},
"python-paste": {
"version": "1.7.5*",
"removable": true
},
"python-pastedeploy": {
"version": "1.5*",
"removable": true
},
"python-webob": {
"version": "1.0*",
"removable": true
},
"python-routes": {
"version": "1.12*",
"removable": true
},
"python-sqlalchemy": {
"version": "0.6*",
"removable": true
},
"python-mysqldb": {
"version": "1.2*",
"removable": true
}
},
"rhel-6": {
# TBD
}

View File

@ -4,12 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"python-dateutil": {
"version": "1.4*",
"removable": true
}
},
"rhel-6": {
"python-dateutil": {
"version": "1.4*",

View File

@ -4,41 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"lvm2": {
"version": "2.02*",
"removable": true
},
"open-iscsi": {
"version": "2.0*",
"removable": true
},
"open-iscsi-utils": {
"version": "2.0*",
"removable": true
},
# Only really needed if you plan on using kvm
"kvm": {
"version": "1:84*",
"removable": true
},
"qemu-kvm": {
"version": "0.14.*",
"removable": true
},
"python-libvirt": {
"version": "0.9.2*",
"removable": true
},
"libvirt-bin": {
"version": "0.9*",
"removable": true
},
"libvirt0": {
"version": "0.9*",
"removable": true
}
},
"rhel-6": {
"lvm2": {
"version": "2.02*",

View File

@ -4,12 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"python-numpy": {
"version": "1:1.5*",
"removable": true
}
},
"rhel-6": {
},
"fedora-16": {

View File

@ -4,20 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"tgt": {
"version": "1:1*",
"removable": true
},
"iscsitarget": {
"version": "1.4*",
"removable": true
},
"lvm2": {
"version": "2.02*",
"removable": true
}
},
"rhel-6": {
"lvm2": {
"version": "2.02*",

View File

@ -4,16 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"python-prettytable": {
"version": "0.5*",
"removable": true
},
"python-argparse": {
"version": "1.1*",
"removable": true
}
},
"rhel-6": {
"python-argparse": {
"version": "1.2*",

View File

@ -4,149 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"dnsmasq-base": {
"version": "2.57*",
"removable": true
},
# For dhcp_release only available in dist:oneiric
"dnsmasq-utils": {
"version": "2.57*",
"removable": true
},
"kpartx": {
"version": "0.4*",
"removable": true
},
"parted": {
"version": "2.3*",
"removable": true
},
# Only available in dist:natty??
# This conflicts with iputils-arping, what to do?
#"arping": {
# "version": "2.09-2",
# "allowed": ">="
#},
#
# Only available in dist:oneiric??
"iputils-arping": {
"version": "3:20101006*",
"removable": true
},
"python-mysqldb": {
"version": "1.2*",
"removable": true
},
# Needed for glance which is needed for nova --- this shouldn't be here
"python-xattr": {
"version": "0.6*",
"removable": true
},
# Needed for glance which is needed for nova --- this shouldn't be here
"python-lxml": {
"version": "2.3*",
"removable": true
},
"iptables": {
"version": "1.4*",
"removable": false
},
"ebtables": {
"version": "2.0*",
"removable": true
},
"sqlite3": {
"version": "3.7*",
"removable": true
},
"vlan": {
"version": "1.9*",
"removable": true
},
# Used by ajaxterm
"socat": {
"version": "1.7*",
"removable": true
},
"python-paste": {
"version": "1.7*",
"removable": true
},
"python-migrate": {
"version": "0.7*",
"removable": true
},
"python-gflags": {
"version": "1.5*",
"removable": true
},
"python-greenlet": {
"version": "0.3*",
"removable": true
},
"python-libxml2": {
"version": "2.7*",
"removable": true
},
"python-routes": {
"version": "1.12*",
"removable": true
},
"python-netaddr": {
"version": "0.7*",
"removable": true
},
"python-pastedeploy": {
"version": "1.5.0-2",
"allowed": ">=",
"removable": true
},
"python-eventlet": {
"version": "0.9*",
"removable": true
},
"python-cheetah": {
"version": "2.4*",
"removable": true
},
"python-carrot": {
"version": "0.10*",
"removable": true
},
"python-tempita": {
"version": "0.5*",
"removable": true
},
"python-sqlalchemy": {
"version": "0.6*",
"removable": true
},
"python-suds": {
"version": "0.4*",
"removable": true
},
"python-lockfile": {
"version": "1:0*",
"removable": true
},
"python-crypto": {
"version": "2.3*",
"removable": true
},
"python-boto": {
"version": "2.0*",
"removable": true
},
"python-kombu": {
"version": "1.0*",
"removable": true
},
"python-feedparser": {
"version": "5.0*",
"removable": true
}
},
"rhel-6": {
# For dhcp_release
"dnsmasq": {

View File

@ -4,12 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"python-gflags": {
"version": "1.5*",
"removable": true
}
},
"rhel-6": {
"python-gflags": {
"version": "1.4*",

View File

@ -4,25 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"openvswitch-switch": {
"version": "1.2*",
"removable": true
},
"openvswitch-datapath-dkms": {
"version": "1.2*",
"removable": true
},
# Seems needed for ovs_quantum_agent.py
"python-sqlalchemy": {
"version": "0.6*",
"removable": true
},
"python-mysqldb": {
"version": "1.2*",
"removable": true
}
},
"rhel-6": {
},
"fedora-16": {

View File

@ -4,36 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"python-eventlet": {
"version": "0.9*",
"removable": true
},
"python-greenlet": {
"version": "0.3*",
"removable": true
},
"python-routes": {
"version": "1.12*",
"removable": true
},
"python-lxml": {
"version": "2.3*",
"removable": true
},
"python-paste": {
"version": "1.7*",
"removable": true
},
"python-gflags": {
"version": "1.5*",
"removable": true
},
"python-pastedeploy": {
"version": "1.5*",
"removable": true
}
},
"rhel-6": {
"python-greenlet": {
"version": "0.3.1*",

View File

@ -4,12 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
"rabbitmq-server": {
"version": "2.5*",
"removable": true
}
},
"rhel-6": {
"rabbitmq-server": {
"version": "2.6*",

View File

@ -4,49 +4,6 @@
# This is currently our "master" repo set with versions
# that we are trying to align other distributions with.
# The versions should at least be major + minor!
"ubuntu-oneiric": {
# installed for swift-keystone
"memcached": {
"version": "1.4*",
"removable": true
},
"python-configobj": {
"version": "4.7*",
"removable": true
},
"python-eventlet": {
"version": "0.9*",
"removable": true
},
"python-greenlet": {
"version": "0.3*",
"removable": true
},
"python-netifaces": {
"version": "0.5*",
"removable": true
},
"python-pastedeploy": {
"version": "1.5*",
"removable": true
},
"python-webob": {
"version": "1.0*",
"removable": true
},
"python-xattr": {
"version": "0.6*",
"removable": true
},
"sqlite3": {
"version": "3.7*",
"removable": true
},
"xfsprogs": {
"version": "3.1*",
"removable": true
}
},
"rhel-6": {
# TBD
},

29
tools/json2yaml.py Normal file
View File

@ -0,0 +1,29 @@
import glob
import json
import os
import sys
def load_json(fn):
with open(fn, 'r') as f:
lines = f.readlines()
data = os.linesep.join(
l
for l in lines
if not l.lstrip().startswith('#')
)
return json.loads(data)
distro = sys.argv[1]
for input_file in glob.glob('conf/pkgs/*.json'):
data = load_json(input_file)
print
print ' - name: %s' % os.path.splitext(os.path.basename(input_file))[0]
print ' packages:'
for pkg, info in sorted(data.get(distro, {}).items()):
print ' - name: %s' % pkg
for n, v in sorted(info.items()):
print ' %s: %s' % (n, v)

12
tools/validate_yaml.py Executable file
View File

@ -0,0 +1,12 @@
#!/usr/bin/env python
"""Try to read a YAML file and report any errors.
"""
import sys
import yaml
with open(sys.argv[1], 'r') as f:
yaml.load(f)