529 lines
19 KiB
YAML
529 lines
19 KiB
YAML
---
|
|
# RedHat Enterprise Linux 6.0+
|
|
name: rhel
|
|
platform_pattern: redhat(.*)
|
|
packager_name: anvil.packaging.yum:YumPackager
|
|
commands:
|
|
apache:
|
|
name: httpd
|
|
restart: service httpd restart
|
|
start: service httpd start
|
|
status: service httpd status
|
|
stop: service httpd stop
|
|
git:
|
|
checkout: git checkout
|
|
clone: git clone
|
|
libvirt:
|
|
restart: service libvirtd restart
|
|
status: service libvirtd status
|
|
# This is just used to check that libvirt will work with a given protocol
|
|
verify: virsh -c $VIRT_PROTOCOL uri
|
|
mysql:
|
|
# NOTE: we aren't stopping any sql injection...
|
|
create_db: mysql --user=$USER --password=$PASSWORD -e
|
|
"CREATE DATABASE $DB CHARACTER SET $CHARACTER_SET;"
|
|
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;"
|
|
restart: service mysqld restart
|
|
set_pwd: mysql --user=$USER --password=$OLD_PASSWORD -e
|
|
"USE mysql; UPDATE user SET password=PASSWORD('$NEW_PASSWORD') WHERE User='$USER'; FLUSH PRIVILEGES;"
|
|
start: service mysqld start
|
|
status: service mysqld status
|
|
stop: service mysqld stop
|
|
# Pip command varies depending on the distro
|
|
pip: pip-python
|
|
# Commands used when setting up python projects
|
|
python:
|
|
setup: python setup.py develop
|
|
unsetup: python setup.py develop --uninstall
|
|
# Where component symlinks will go, the component name will become a directory
|
|
# under this directory where its configuration files will be connected to there
|
|
# actual location.
|
|
base_link_dir: /etc
|
|
rabbit-mq:
|
|
change_password: rabbitmqctl change_password
|
|
restart: service rabbitmq-server restart
|
|
start: service rabbitmq-server start
|
|
status: service rabbitmq-server status
|
|
stop: service rabbitmq-server stop
|
|
components:
|
|
cinder-client:
|
|
action_classes:
|
|
install: anvil.components:PythonInstallComponent
|
|
package: anvil.packaging.rpm:PythonPackager
|
|
running: anvil.components:EmptyRuntime
|
|
test: anvil.components:PythonTestingComponent
|
|
uninstall: anvil.components:PythonUninstallComponent
|
|
db:
|
|
action_classes:
|
|
install: anvil.distros.rhel:DBInstaller
|
|
package: anvil.packaging.rpm:DependencyPackager
|
|
running: anvil.components.db:DBRuntime
|
|
test: anvil.components:EmptyTestingComponent
|
|
uninstall: anvil.components.db:DBUninstaller
|
|
packages:
|
|
- name: mysql
|
|
- name: mysql-server
|
|
general:
|
|
action_classes:
|
|
install: anvil.components.pkglist:Installer
|
|
package: anvil.packaging.rpm:DependencyPackager
|
|
running: anvil.components:EmptyRuntime
|
|
test: anvil.components:EmptyTestingComponent
|
|
uninstall: anvil.components.pkglist:Uninstaller
|
|
packages:
|
|
# Shared system packages
|
|
- name: coreutils
|
|
removable: false
|
|
- name: curl
|
|
removable: false
|
|
- name: dnsmasq-utils
|
|
removable: false
|
|
- name: euca2ools
|
|
- name: gawk
|
|
removable: false
|
|
- name: git
|
|
removable: false
|
|
- name: iputils
|
|
removable: false
|
|
# Needed to build the newer lxml version used by nova
|
|
- name: libxml2-devel
|
|
removable: false
|
|
- name: libxslt-devel
|
|
removable: false
|
|
- name: lsof
|
|
removable: false
|
|
- name: mlocate
|
|
removable: false
|
|
- name: openssh-server
|
|
removable: false
|
|
- name: psmisc
|
|
removable: false
|
|
- name: sudo
|
|
removable: false
|
|
- name: tcpdump
|
|
removable: false
|
|
- name: unzip
|
|
removable: false
|
|
- name: wget
|
|
removable: false
|
|
# Shared python packages
|
|
- name: python
|
|
removable: false
|
|
- name: python-devel
|
|
removable: false
|
|
- name: python-distutils-extra
|
|
removable: false
|
|
- name: python-setuptools
|
|
removable: false
|
|
pip_to_package:
|
|
# Shared pypi packages + their package information.
|
|
# Packages is what is really used for installation (the pypi name
|
|
# is just for matching since the general section is not python code).
|
|
- name: pylint
|
|
package:
|
|
name: pylint
|
|
removable: false
|
|
- name: anyjson
|
|
package:
|
|
name: python-anyjson
|
|
- name: argparse
|
|
package:
|
|
name: python-argparse
|
|
removable: false
|
|
- name: babel
|
|
package:
|
|
name: python-babel
|
|
- name: cmd2
|
|
package:
|
|
name: python-cmd2
|
|
- name: eventlet
|
|
package:
|
|
name: python-eventlet
|
|
- name: greenlet
|
|
package:
|
|
name: python-greenlet
|
|
- name: httplib2
|
|
package:
|
|
name: python-httplib2
|
|
removable: false
|
|
- name: iso8601
|
|
package:
|
|
name: python-iso8601
|
|
- name: lockfile
|
|
package:
|
|
name: python-lockfile
|
|
- name: mock
|
|
package:
|
|
name: python-mock
|
|
- name: mox
|
|
package:
|
|
name: python-mox
|
|
- name: netaddr
|
|
package:
|
|
name: python-netaddr
|
|
- name: nose
|
|
package:
|
|
name: python-nose1.1
|
|
packager_name: anvil.distros.rhel:YumPackagerWithRelinks
|
|
packager_options:
|
|
links:
|
|
- source: "/usr/lib/python2.6/site-packages/nose-1*-py2.6.egg/nose"
|
|
target: "/usr/lib/python2.6/site-packages/nose"
|
|
- source: "/usr/bin/nosetests1.1"
|
|
target: "/usr/bin/nosetests"
|
|
- name: passlib
|
|
package:
|
|
name: python-passlib
|
|
- name: paste
|
|
package:
|
|
name: python-paste
|
|
- name: pastedeploy
|
|
package:
|
|
name: python-paste-deploy1.5
|
|
packager_name: anvil.distros.rhel:YumPackagerWithRelinks
|
|
packager_options:
|
|
links:
|
|
- source: "/usr/lib/python2.6/site-packages/PasteDeploy-1.5*-py2.6.egg/paste/deploy"
|
|
target: "/usr/lib/python2.6/site-packages/paste/deploy"
|
|
- name: pip
|
|
package:
|
|
name: python-pip
|
|
removable: false
|
|
- name: pyparsing
|
|
package:
|
|
name: pyparsing
|
|
removable: false
|
|
- name: routes
|
|
package:
|
|
name: python-routes1.12
|
|
packager_name: anvil.distros.rhel:YumPackagerWithRelinks
|
|
packager_options:
|
|
links:
|
|
- source: "/usr/lib/python2.6/site-packages/Routes-1.*-py2.6.egg/routes"
|
|
target: "/usr/lib/python2.6/site-packages/routes"
|
|
- name: simplejson
|
|
package:
|
|
name: python-simplejson
|
|
- name: sphinx
|
|
package:
|
|
name: python-sphinx10
|
|
packager_name: anvil.distros.rhel:YumPackagerWithRelinks
|
|
packager_options:
|
|
links:
|
|
- source: "/usr/bin/sphinx-1.0-build"
|
|
target: "/usr/bin/sphinx-build"
|
|
- source: "/usr/bin/sphinx-1.0-quickstart"
|
|
target: "/usr/bin/sphinx-quickstart"
|
|
- source: "/usr/bin/sphinx-1.0-autogen"
|
|
target: "/usr/bin/sphinx-autogen"
|
|
- name: unittest2
|
|
package:
|
|
name: python-unittest2
|
|
removable: false
|
|
- name: webob
|
|
package:
|
|
name: python-webob1.0
|
|
# Need to relink it so that it will work without modifications
|
|
# Since new packages in rhel must never use the same names
|
|
# as previous ones (this overrides that)
|
|
packager_name: anvil.distros.rhel:YumPackagerWithRelinks
|
|
packager_options:
|
|
links:
|
|
- source: "/usr/lib/python2.6/site-packages/WebOb-*-py2.6.egg/webob/"
|
|
target: "/usr/lib/python2.6/site-packages/webob"
|
|
pips:
|
|
# Pips that aren't packages yet (or versions aren't right...)
|
|
- name: coverage
|
|
- name: distribute
|
|
removable: false
|
|
- name: lxml
|
|
version: "2.3.5"
|
|
options: # Force it to upgrade if its there already
|
|
# but versions are miss-matched
|
|
- "-U"
|
|
removable: false
|
|
- name: nose-exclude
|
|
- name: nosehtmloutput
|
|
- name: openstack.nose_plugin
|
|
- name: pep8 # The rhel version appears to not be new enough...
|
|
- name: prettytable
|
|
version: "0.6.1"
|
|
- name: pycrypto
|
|
version: "2.6"
|
|
options: # Force it to upgrade if its there already
|
|
# but versions are miss-matched
|
|
- "-U"
|
|
removable: false
|
|
- name: requests
|
|
# Need this or nova pukes with 'Did not recognize type 'BIGINT' of column 'bw_in''
|
|
- name: sqlalchemy
|
|
version: "0.7.9"
|
|
options: # Force it to upgrade if its there already
|
|
# but versions are miss-matched
|
|
- "-U"
|
|
- name: sqlalchemy-migrate
|
|
- name: testtools # Seems like the version in rhel is to old...
|
|
glance:
|
|
action_classes:
|
|
install: anvil.components.glance:GlanceInstaller
|
|
package: anvil.packaging.rpm:PythonPackager
|
|
running: anvil.components.glance:GlanceRuntime
|
|
test: anvil.components.glance:GlanceTester
|
|
uninstall: anvil.components.glance:GlanceUninstaller
|
|
# When parsing 'tools/pip-requires' and
|
|
# 'tools/test-requires' (if they exist)
|
|
# the following map will be used to translate names
|
|
# and versions inside those files into distribution
|
|
# package names equivalents (if possible)
|
|
pip_to_package:
|
|
- name: pyOpenSSL
|
|
package:
|
|
name: pyOpenSSL
|
|
- name: jsonschema
|
|
package:
|
|
name: python-jsonschema
|
|
- name: pysendfile
|
|
package:
|
|
name: pysendfile
|
|
- name: kombu
|
|
package:
|
|
# Only needed for notifications???
|
|
name: python-kombu
|
|
packages:
|
|
- name: MySQL-python
|
|
pips:
|
|
# Pips that aren't packages yet (and not in the 'general' section)
|
|
- name: boto
|
|
version: "2.1.1"
|
|
- name: wsgiref
|
|
- name: xattr # Seems to be only in test-requires
|
|
glance-client:
|
|
action_classes:
|
|
install: anvil.components.glance_client:GlanceClientInstaller
|
|
package: anvil.packaging.rpm:PythonPackager
|
|
running: anvil.components:EmptyRuntime
|
|
test: anvil.components.glance_client:GlanceClientTester
|
|
uninstall: anvil.components:PythonUninstallComponent
|
|
pip_to_package:
|
|
- name: pyOpenSSL
|
|
package:
|
|
name: pyOpenSSL
|
|
- name: warlock
|
|
package:
|
|
name: python-warlock
|
|
pips:
|
|
- name: nosexcover # Seems to be only in test-requires
|
|
- name: setuptools-git # Seems to be only in test-requires
|
|
horizon:
|
|
action_classes:
|
|
install: anvil.distros.rhel:HorizonInstaller
|
|
package: anvil.packaging.rpm:PythonPackager
|
|
running: anvil.components.horizon:HorizonRuntime
|
|
test: anvil.components:PythonTestingComponent
|
|
uninstall: anvil.components.horizon:HorizonUninstaller
|
|
pip_to_package:
|
|
- name: django
|
|
package:
|
|
name: Django14
|
|
- name: django-compressor
|
|
package:
|
|
name: python-django-compressor
|
|
- name: django-nose
|
|
package:
|
|
name: python-django-nose
|
|
- name: pytz
|
|
package:
|
|
name: pytz
|
|
packages:
|
|
- name: httpd
|
|
- name: mod_wsgi
|
|
- name: nodejs
|
|
- name: nodejs-compat-symlinks
|
|
- name: npm
|
|
pips:
|
|
- name: django-openstack-auth
|
|
- name: nosexcover
|
|
- name: selenium
|
|
keystone:
|
|
action_classes:
|
|
install: anvil.components.keystone:KeystoneInstaller
|
|
package: anvil.packaging.rpm:PythonPackager
|
|
running: anvil.components.keystone:KeystoneRuntime
|
|
test: anvil.components.keystone:KeystoneTester
|
|
uninstall: anvil.components.keystone:KeystoneUninstaller
|
|
packages:
|
|
- name: MySQL-python
|
|
pip_to_package:
|
|
- name: netifaces
|
|
package:
|
|
name: python-netifaces
|
|
pips:
|
|
- name: pam
|
|
version: '0.1.4'
|
|
- name: nosexcover
|
|
- name: webtest # This version in package form conflicts with webob1.0
|
|
keystone-client:
|
|
action_classes:
|
|
install: anvil.components:PythonInstallComponent
|
|
package: anvil.packaging.rpm:PythonPackager
|
|
running: anvil.components:EmptyRuntime
|
|
test: anvil.components:PythonTestingComponent
|
|
uninstall: anvil.components:PythonUninstallComponent
|
|
nova:
|
|
action_classes:
|
|
install: anvil.distros.rhel:NovaInstaller
|
|
package: anvil.packaging.rpm:PythonPackager
|
|
running: anvil.components.nova:NovaRuntime
|
|
test: anvil.components.nova:NovaTester
|
|
uninstall: anvil.components.nova:NovaUninstaller
|
|
packages:
|
|
- name: MySQL-python
|
|
# Helpful utilities/core
|
|
# system requirements
|
|
- name: dnsmasq
|
|
removable: false
|
|
- name: ebtables
|
|
removable: false
|
|
- name: iptables
|
|
removable: false
|
|
- name: iputils
|
|
removable: false
|
|
- name: kpartx
|
|
removable: false
|
|
- name: parted
|
|
removable: false
|
|
- name: sqlite
|
|
removable: false
|
|
- name: vconfig
|
|
removable: false
|
|
pip_to_package:
|
|
- name: amqplib
|
|
package:
|
|
name: python-amqplib
|
|
- name: suds
|
|
package:
|
|
name: python-suds
|
|
- name: paramiko
|
|
package:
|
|
name: python-paramiko
|
|
- name: feedparser
|
|
package:
|
|
name: python-feedparser
|
|
- name: MySQL-python
|
|
package:
|
|
name: MySQL-python
|
|
pips:
|
|
- name: Cheetah
|
|
version: "2.4.4"
|
|
- name: fixtures # Seems for testing only
|
|
subsystems:
|
|
compute:
|
|
packages:
|
|
- name: fuse # Needed for mounting
|
|
removable: false
|
|
- name: guestfish
|
|
removable: false
|
|
- name: iscsi-initiator-utils
|
|
removable: false
|
|
- name: libguestfs
|
|
removable: false
|
|
- name: libguestfs-mount
|
|
removable: false
|
|
- name: libguestfs-tools
|
|
removable: false
|
|
- name: libvirt
|
|
removable: false
|
|
- name: libvirt-client
|
|
removable: false
|
|
- name: libvirt-python
|
|
removable: false
|
|
- name: qemu-img
|
|
removable: false
|
|
- name: qemu-kvm
|
|
removable: false
|
|
volume:
|
|
packages:
|
|
- name: iscsi-initiator-utils
|
|
removable: false
|
|
- name: lvm2
|
|
removable: false
|
|
- name: scsi-target-utils
|
|
removable: false
|
|
nova-client:
|
|
action_classes:
|
|
install: anvil.components:PythonInstallComponent
|
|
package: anvil.packaging.rpm:PythonPackager
|
|
running: anvil.components:EmptyRuntime
|
|
test: anvil.components:PythonTestingComponent
|
|
uninstall: anvil.components:PythonUninstallComponent
|
|
no-vnc:
|
|
action_classes:
|
|
install: anvil.components.novnc:NoVNCInstaller
|
|
package: anvil.components:EmptyPackagingComponent
|
|
running: anvil.components.novnc:NoVNCRuntime
|
|
test: anvil.components:EmptyTestingComponent
|
|
uninstall: anvil.components.novnc:NoVNCUninstaller
|
|
packages:
|
|
- name: python-websockify
|
|
openstack-client:
|
|
action_classes:
|
|
install: anvil.components.openstack_client:OpenStackClientInstaller
|
|
package: anvil.packaging.rpm:PythonPackager
|
|
running: anvil.components:EmptyRuntime
|
|
test: anvil.components.openstack_client:OpenStackClientTester
|
|
uninstall: anvil.components:PythonUninstallComponent
|
|
pip_to_package:
|
|
- name: cliff
|
|
package:
|
|
name: python-cliff
|
|
- name: keyring
|
|
package:
|
|
name: python-keyring
|
|
quantum-client:
|
|
action_classes:
|
|
install: anvil.components:PythonInstallComponent
|
|
package: anvil.packaging.rpm:PythonPackager
|
|
running: anvil.components:EmptyRuntime
|
|
test: anvil.components:PythonTestingComponent
|
|
uninstall: anvil.components:PythonUninstallComponent
|
|
pip_to_package:
|
|
- name: cliff
|
|
package:
|
|
name: python-cliff
|
|
pips:
|
|
- name: cliff-tablib
|
|
rabbit-mq:
|
|
action_classes:
|
|
install: anvil.components.rabbit:RabbitInstaller
|
|
package: anvil.packaging.rpm:DependencyPackager
|
|
running: anvil.distros.rhel:RabbitRuntime
|
|
test: anvil.components:EmptyTestingComponent
|
|
uninstall: anvil.components.rabbit:RabbitUninstaller
|
|
packages:
|
|
- name: rabbitmq-server
|
|
pre-install:
|
|
- cmd:
|
|
- service
|
|
- qpidd
|
|
- stop
|
|
ignore_failure: true
|
|
run_as_root: true
|
|
- cmd:
|
|
- chkconfig
|
|
- qpidd
|
|
- 'off'
|
|
ignore_failure: true
|
|
run_as_root: true
|
|
swift-client:
|
|
action_classes:
|
|
install: anvil.components.swift_client:SwiftClientInstaller
|
|
package: anvil.packaging.rpm:PythonPackager
|
|
running: anvil.components:EmptyRuntime
|
|
test: anvil.components:PythonTestingComponent
|
|
uninstall: anvil.components:PythonUninstallComponent
|
|
...
|
|
|