anvil/conf/distros/rhel.yaml
Anastasia Karpinska 1ed84bb3d3 Anvil uninstaller was implemented
Change-Id: I10d8463883a40e8ce99123a6dc758ab30e87d58b
2013-05-31 18:45:08 -07:00

351 lines
15 KiB
YAML

---
# RedHat Enterprise Linux 6.0+
name: rhel
platform_pattern: redhat(.*)|centos(.*)
packager_name: anvil.packaging.yum:YumPackager
dependency_handler: anvil.packaging.yum:YumDependencyHandler
commands:
apache:
name: httpd
restart: service httpd restart
start: service httpd start
status: service httpd status
stop: service httpd stop
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
# 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:
action_classes:
install: anvil.components.cinder:CinderInstaller
running: anvil.components.cinder:CinderRuntime
test: anvil.components.base_testing:PythonTestingComponent
coverage: anvil.components.base_testing:PythonTestingComponent
uninstall: anvil.components.base_install:PkgUninstallComponent
pips:
- name: hp3parclient
cinder-client:
action_classes:
install: anvil.components.base_install:PythonInstallComponent
running: anvil.components.base_runtime:EmptyRuntime
test: anvil.components.base_testing:PythonTestingComponent
coverage: anvil.components.base_testing:PythonTestingComponent
uninstall: anvil.components.base_install:PkgUninstallComponent
db:
action_classes:
install: anvil.distros.rhel:DBInstaller
package: anvil.packaging.base:EmptyPackager
running: anvil.components.db:DBRuntime
coverage: anvil.components.base_testing:EmptyTestingComponent
test: anvil.components.base_testing:EmptyTestingComponent
uninstall: anvil.components.db:DBUninstaller
packages:
- name: mysql
- name: mysql-server
general:
action_classes:
install: anvil.components.pkglist:Installer
package: anvil.packaging.base:EmptyPackager
running: anvil.components.base_runtime:EmptyRuntime
test: anvil.components.base_testing:EmptyTestingComponent
coverage: anvil.components.base_testing:EmptyTestingComponent
uninstall: anvil.components.pkglist:Uninstaller
packages:
# Shared system packages
- name: coreutils
removable: false
- name: curl
removable: false
- name: dnsmasq-utils
removable: false
- 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
nopips:
# these items fail to build from Python packages,
# but their RPMs are available from base and epel repos
- name: requests
- name: mysql-python
- name: pyOpenSSL
# these packages conflict with our deps and must be removed
nopackages:
- name: python-paste-deploy1.5
- name: python-nose1.1
- name: python-routes1.12
- name: python-sphinx10
- name: python-webob1.0
- name: Django14
glance:
action_classes:
install: anvil.components.glance:GlanceInstaller
running: anvil.components.glance:GlanceRuntime
coverage: anvil.components:PythonTestingComponent
test: anvil.components.glance:GlanceTester
uninstall: anvil.components.base_install:PkgUninstallComponent
packages:
- name: MySQL-python
pips:
# warlock requires jsonschema>=0.7,<2
# pip downloads jsonschema-2.0 and
# then ignores warlock's requirement
- name: jsonschema
version: ">=0.7,<2"
glance-client:
action_classes:
install: anvil.components.base_install:PythonInstallComponent
running: anvil.components.base_runtime:EmptyRuntime
test: anvil.components.glance_client:GlanceClientTester
coverage: anvil.components.glance_client:GlanceClientTester
uninstall: anvil.components.base_install:PkgUninstallComponent
horizon:
action_classes:
install: anvil.distros.rhel:HorizonInstaller
running: anvil.components.horizon:HorizonRuntime
test: anvil.components.base_testing:PythonTestingComponent
coverage: anvil.components.base_testing:PythonTestingComponent
uninstall: anvil.components.horizon:HorizonUninstaller
packages:
- name: httpd
- name: mod_wsgi
- name: nodejs
django-openstack-auth:
action_classes:
install: anvil.components.base_install:PythonInstallComponent
running: anvil.components.base_runtime:EmptyRuntime
test: anvil.components.base_testing:EmptyTestingComponent
uninstall: anvil.components.base_install:PkgUninstallComponent
keystone:
action_classes:
install: anvil.components.keystone:KeystoneInstaller
running: anvil.components.keystone:KeystoneRuntime
test: anvil.components.keystone:KeystoneTester
coverage: anvil.components.keystone:KeystoneTester
uninstall: anvil.components.base_install:PkgUninstallComponent
packages:
- name: MySQL-python
keystone-client:
action_classes:
install: anvil.components.base_install:PythonInstallComponent
running: anvil.components.base_runtime:EmptyRuntime
test: anvil.components.base_testing:PythonTestingComponent
coverage: anvil.components.base_testing:PythonTestingComponent
uninstall: anvil.components.base_install:PkgUninstallComponent
nova:
action_classes:
install: anvil.distros.rhel:NovaInstaller
running: anvil.components.nova:NovaRuntime
test: anvil.components.base_testing:PythonTestingComponent
coverage: anvil.components.base_testing:PythonTestingComponent
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
pips:
# This seems to be a core dependency for a 'cas' tool
# so don't try to remove it since it will also remove
# said 'cas' tool, unfortunately the version of paramiko
# installed in rhel uses a old version of crypto which
# other components actually can't use. This sucks...
- name: paramiko
subsystems:
compute:
packages:
- name: avahi
removable: false
- 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: postgresql-devel # for psycopg2
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.base_install:PythonInstallComponent
running: anvil.components.base_runtime:EmptyRuntime
test: anvil.components.base_testing:PythonTestingComponent
coverage: anvil.components.base_testing:PythonTestingComponent
uninstall: anvil.components.base_install:PkgUninstallComponent
no-vnc:
action_classes:
install: anvil.components.base_install:PythonInstallComponent
package: anvil.packaging.base:EmptyPackager
running: anvil.components.novnc:NoVNCRuntime
test: anvil.components.base_testing:EmptyTestingComponent
coverage: anvil.components.base_testing:EmptyTestingComponent
uninstall: anvil.components.base_install:PkgUninstallComponent
packages:
- name: python-websockify
- name: numpy
openstack-client:
action_classes:
install: anvil.components.openstack_client:OpenStackClientInstaller
running: anvil.components.base_runtime:EmptyRuntime
test: anvil.components.openstack_client:OpenStackClientTester
coverage: anvil.components.openstack_client:OpenStackClientTester
uninstall: anvil.components.base_install:PkgUninstallComponent
oslo-config:
action_classes:
install: anvil.components.base_install:PythonInstallComponent
running: anvil.components.base_runtime:EmptyRuntime
test: anvil.components.base_testing:PythonTestingComponent
coverage: anvil.components.base_testing:PythonTestingComponent
uninstall: anvil.components.base_install:PkgUninstallComponent
oslo-incubator:
action_classes:
install: anvil.components.base_install:PythonInstallComponent
running: anvil.components.base_runtime:EmptyRuntime
test: anvil.components.base_testing:PythonTestingComponent
coverage: anvil.components.base_testing:PythonTestingComponent
uninstall: anvil.components.base_install:PkgUninstallComponent
quantum:
action_classes:
install: anvil.components.quantum:QuantumInstaller
running: anvil.components.quantum:QuantumRuntime
test: anvil.components.base_testing:PythonTestingComponent
coverage: anvil.components.base_testing:PythonTestingComponent
uninstall: anvil.components.base_install:PkgUninstallComponent
quantum-client:
action_classes:
install: anvil.components.base_install:PythonInstallComponent
running: anvil.components.base_runtime:EmptyRuntime
test: anvil.components.base_testing:PythonTestingComponent
coverage: anvil.components.base_testing:PythonTestingComponent
uninstall: anvil.components.base_install:PkgUninstallComponent
rabbit-mq:
action_classes:
install: anvil.components.rabbit:RabbitInstaller
package: anvil.packaging.base:EmptyPackager
running: anvil.distros.rhel:RabbitRuntime
test: anvil.components.base_testing:EmptyTestingComponent
coverage: anvil.components.base_testing:EmptyTestingComponent
uninstall: anvil.components.rabbit:RabbitUninstaller
packages:
- name: rabbitmq-server
# Disable qpidd as these rabbitmq & qpidd conflict
pre-install:
- cmd:
- service
- qpidd
- stop
ignore_failure: true
run_as_root: true
# Also stop it from starting on boot (if rebooted)
- cmd:
- chkconfig
- qpidd
- 'off'
ignore_failure: true
run_as_root: true
swift-client:
action_classes:
install: anvil.components.base_install:PythonInstallComponent
running: anvil.components.base_runtime:EmptyRuntime
test: anvil.components.base_testing:PythonTestingComponent
coverage: anvil.components.base_testing:PythonTestingComponent
uninstall: anvil.components.base_install:PkgUninstallComponent
...