Switch all of the commands in YAML files to simple strings and
parse them into lists in the code that fetches commands from the config.
This commit is contained in:
parent
462eee3a99
commit
cefd378401
@ -1,522 +1,498 @@
|
|||||||
# Fedora 16
|
# Fedora 16
|
||||||
|
---
|
||||||
name: fedora-16
|
name: fedora-16
|
||||||
distro_pattern: fedora-16
|
distro_pattern: fedora-16
|
||||||
|
|
||||||
packager_name: devstack.packaging.yum:YumPackager
|
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
|
|
||||||
pip: python-pip
|
|
||||||
|
|
||||||
apache:
|
apache:
|
||||||
restart: ["service", "httpd", "restart"]
|
restart: service httpd restart
|
||||||
start: ["service", "httpd", "start"]
|
|
||||||
stop: ["service", "httpd", "stop"]
|
|
||||||
status: ["service", "httpd", "status"]
|
|
||||||
settings:
|
settings:
|
||||||
#ensure runs after wsgi.conf (naming wise)
|
|
||||||
conf-link-target: /etc/httpd/conf.d/wsgi-horizon-000-default.conf
|
conf-link-target: /etc/httpd/conf.d/wsgi-horizon-000-default.conf
|
||||||
|
start: service httpd start
|
||||||
mysql:
|
status: service httpd status
|
||||||
start: ["service", "mysql", 'start']
|
stop: service httpd stop
|
||||||
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;\""]
|
|
||||||
git:
|
git:
|
||||||
checkout:
|
checkout: git checkout
|
||||||
- git
|
clone: git clone
|
||||||
- checkout
|
pull: git pull
|
||||||
clone:
|
|
||||||
- git
|
|
||||||
- clone
|
|
||||||
pull:
|
|
||||||
- git
|
|
||||||
- pull
|
|
||||||
libvirt:
|
libvirt:
|
||||||
restart: ['service', 'libvirtd', 'restart']
|
restart: service libvirtd restart
|
||||||
status: ['service', 'libvirtd', 'status']
|
status: service libvirtd status
|
||||||
|
mysql:
|
||||||
|
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;"
|
||||||
|
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: python-pip
|
||||||
rabbit-mq:
|
rabbit-mq:
|
||||||
start: ['service', "rabbitmq-server", "start"]
|
change_password: rabbitmqctl change_password guest
|
||||||
stop: ['service', "rabbitmq-server", "stop"]
|
restart: service rabbitmq-server restart
|
||||||
status: ['service', "rabbitmq-server", "status"]
|
start: service rabbitmq-server start
|
||||||
restart: ['service', "rabbitmq-server", "restart"]
|
status: service rabbitmq-server status
|
||||||
change_password: ['rabbitmqctl', 'change_password', 'guest']
|
stop: service rabbitmq-server stop
|
||||||
|
|
||||||
components:
|
components:
|
||||||
|
|
||||||
db:
|
db:
|
||||||
packages:
|
packages:
|
||||||
- name: mysql
|
- name: mysql
|
||||||
removable: True
|
removable: true
|
||||||
version: 5.5*
|
version: 5.5*
|
||||||
- name: mysql-server
|
- name: mysql-server
|
||||||
removable: True
|
removable: true
|
||||||
version: 5.5*
|
version: 5.5*
|
||||||
|
|
||||||
general:
|
general:
|
||||||
packages:
|
packages:
|
||||||
- name: curl
|
- name: curl
|
||||||
removable: False
|
removable: false
|
||||||
version: 7.21.7*
|
version: 7.21.7*
|
||||||
- name: euca2ools
|
- name: euca2ools
|
||||||
removable: False
|
removable: false
|
||||||
version: 1.3.1*
|
version: 1.3.1*
|
||||||
- name: gawk
|
- name: gawk
|
||||||
removable: False
|
removable: false
|
||||||
version: 4.0*
|
version: 4.0*
|
||||||
- name: git
|
- name: git
|
||||||
removable: False
|
removable: false
|
||||||
version: 1.7*
|
version: 1.7*
|
||||||
- name: iputils
|
- name: iputils
|
||||||
removable: False
|
removable: false
|
||||||
version: 20101006*
|
version: 20101006*
|
||||||
- name: libxml2-devel
|
- name: libxml2-devel
|
||||||
removable: False
|
removable: false
|
||||||
version: 2.7*
|
version: 2.7*
|
||||||
- name: libxslt-devel
|
- name: libxslt-devel
|
||||||
removable: False
|
removable: false
|
||||||
version: 1.1.26*
|
version: 1.1.26*
|
||||||
- name: lsof
|
- name: lsof
|
||||||
removable: False
|
removable: false
|
||||||
version: 4.84*
|
version: 4.84*
|
||||||
- name: mlocate
|
- name: mlocate
|
||||||
removable: False
|
removable: false
|
||||||
version: 0.24*
|
version: 0.24*
|
||||||
- name: openssh-server
|
- name: openssh-server
|
||||||
removable: False
|
removable: false
|
||||||
version: 5.8*
|
version: 5.8*
|
||||||
- name: psmisc
|
- name: psmisc
|
||||||
removable: False
|
removable: false
|
||||||
version: 22.13*
|
version: 22.13*
|
||||||
- name: pylint
|
- name: pylint
|
||||||
removable: False
|
removable: false
|
||||||
version: 0.24*
|
version: 0.24*
|
||||||
- name: python
|
- name: python
|
||||||
removable: False
|
removable: false
|
||||||
version: 2.7*
|
version: 2.7*
|
||||||
- name: python-coverage
|
- name: python-coverage
|
||||||
removable: False
|
removable: false
|
||||||
version: 3.5*
|
version: 3.5*
|
||||||
- name: python-devel
|
- name: python-devel
|
||||||
removable: False
|
removable: false
|
||||||
version: 2.7*
|
version: 2.7*
|
||||||
- name: python-distutils-extra
|
- name: python-distutils-extra
|
||||||
removable: False
|
removable: false
|
||||||
version: 2.29*
|
version: 2.29*
|
||||||
- name: python-mox
|
- name: python-mox
|
||||||
removable: False
|
removable: false
|
||||||
version: 0.5.3*
|
version: 0.5.3*
|
||||||
- name: python-nose
|
- name: python-nose
|
||||||
removable: False
|
removable: false
|
||||||
version: 1.1*
|
version: 1.1*
|
||||||
- name: python-pep8
|
- name: python-pep8
|
||||||
removable: False
|
removable: false
|
||||||
version: 0.6*
|
version: 0.6*
|
||||||
- name: python-pip
|
- name: python-pip
|
||||||
removable: False
|
removable: false
|
||||||
version: 0.8*
|
version: 0.8*
|
||||||
- name: python-setuptools
|
- name: python-setuptools
|
||||||
removable: False
|
removable: false
|
||||||
version: 0.6.24*
|
version: 0.6.24*
|
||||||
- name: python-unittest2
|
- name: python-unittest2
|
||||||
removable: False
|
removable: false
|
||||||
version: 0.5.1*
|
version: 0.5.1*
|
||||||
- name: python-virtualenv
|
- name: python-virtualenv
|
||||||
removable: False
|
removable: false
|
||||||
version: 1.7*
|
version: 1.7*
|
||||||
- name: screen
|
- name: screen
|
||||||
removable: False
|
removable: false
|
||||||
version: 4.1.0*
|
version: 4.1.0*
|
||||||
- name: sudo
|
- name: sudo
|
||||||
removable: False
|
removable: false
|
||||||
version: 1.8.3*
|
version: 1.8.3*
|
||||||
- name: tcpdump
|
- name: tcpdump
|
||||||
removable: False
|
removable: false
|
||||||
version: 4.1*
|
version: 4.1*
|
||||||
- name: unzip
|
- name: unzip
|
||||||
removable: False
|
removable: false
|
||||||
version: 6.0*
|
version: 6.0*
|
||||||
- name: wget
|
- name: wget
|
||||||
removable: False
|
removable: false
|
||||||
version: 1.12*
|
version: 1.12*
|
||||||
|
|
||||||
glance:
|
glance:
|
||||||
packages:
|
packages:
|
||||||
- name: MySQL-python
|
- name: MySQL-python
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.2*
|
version: 1.2*
|
||||||
- name: python-argparse
|
- name: python-argparse
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.1*
|
version: 1.1*
|
||||||
- name: python-dateutil
|
- name: python-dateutil
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.5*
|
version: 1.5*
|
||||||
- name: python-eventlet
|
- name: python-eventlet
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.9*
|
version: 0.9*
|
||||||
- name: python-greenlet
|
- name: python-greenlet
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.3.1*
|
version: 0.3.1*
|
||||||
- name: python-httplib2
|
- name: python-httplib2
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.6*
|
version: 0.6*
|
||||||
- name: python-prettytable
|
- name: python-prettytable
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.5*
|
version: 0.5*
|
||||||
- name: python-routes
|
- name: python-routes
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.12*
|
version: 1.12*
|
||||||
- name: pyxattr
|
- name: pyxattr
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.5*
|
version: 0.5*
|
||||||
|
|
||||||
horizon:
|
horizon:
|
||||||
packages:
|
packages:
|
||||||
- name: Django
|
- name: Django
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.3*
|
version: 1.3*
|
||||||
- name: django-registration
|
- name: django-registration
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.7*
|
version: 0.7*
|
||||||
- name: httpd
|
- name: httpd
|
||||||
removable: True
|
removable: true
|
||||||
version: 2.2*
|
version: 2.2*
|
||||||
- name: mod_wsgi
|
- name: mod_wsgi
|
||||||
removable: True
|
removable: true
|
||||||
version: 3.3*
|
version: 3.3*
|
||||||
- name: python-cherrypy
|
- name: python-cherrypy
|
||||||
removable: True
|
removable: true
|
||||||
version: 3.2*
|
version: 3.2*
|
||||||
- name: python-cloudfiles
|
- name: python-cloudfiles
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.7.9*
|
version: 1.7.9*
|
||||||
- name: python-dateutil
|
- name: python-dateutil
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.5*
|
version: 1.5*
|
||||||
- name: python-eventlet
|
- name: python-eventlet
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.9*
|
version: 0.9*
|
||||||
- name: python-kombu
|
- name: python-kombu
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.1*
|
version: 1.1*
|
||||||
- name: python-migrate
|
- name: python-migrate
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.7*
|
version: 0.7*
|
||||||
- name: python-paste
|
- name: python-paste
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.7.5*
|
version: 1.7.5*
|
||||||
- name: python-paste-deploy
|
- name: python-paste-deploy
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.5.0*
|
version: 1.5.0*
|
||||||
- name: python-routes
|
- name: python-routes
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.12*
|
version: 1.12*
|
||||||
- name: python-sphinx
|
- name: python-sphinx
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.0.7*
|
version: 1.0.7*
|
||||||
- name: python-sqlalchemy
|
- name: python-sqlalchemy
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.7*
|
version: 0.7*
|
||||||
- name: python-webob
|
- name: python-webob
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.0*
|
version: 1.0*
|
||||||
- name: pyxattr
|
- name: pyxattr
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.5*
|
version: 0.5*
|
||||||
|
|
||||||
keystone-client:
|
|
||||||
packages:
|
|
||||||
- name: python-argparse
|
|
||||||
removable: True
|
|
||||||
version: 1.1*
|
|
||||||
- name: python-prettytable
|
|
||||||
removable: True
|
|
||||||
version: 0.5*
|
|
||||||
|
|
||||||
keystone:
|
keystone:
|
||||||
packages:
|
packages:
|
||||||
- name: MySQL-python
|
- name: MySQL-python
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.2*
|
version: 1.2*
|
||||||
- name: cyrus-sasl-lib
|
- name: cyrus-sasl-lib
|
||||||
removable: False
|
removable: false
|
||||||
version: 2.1*
|
version: 2.1*
|
||||||
- name: openldap
|
- name: openldap
|
||||||
removable: False
|
removable: false
|
||||||
version: 2.4*
|
version: 2.4*
|
||||||
- name: python-argparse
|
- name: python-argparse
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.1*
|
version: 1.1*
|
||||||
- name: python-eventlet
|
- name: python-eventlet
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.9*
|
version: 0.9*
|
||||||
- name: python-greenlet
|
- name: python-greenlet
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.3.1*
|
version: 0.3.1*
|
||||||
- name: python-lxml
|
- name: python-lxml
|
||||||
removable: True
|
removable: true
|
||||||
version: 2.3*
|
version: 2.3*
|
||||||
- name: python-migrate
|
- name: python-migrate
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.7*
|
version: 0.7*
|
||||||
- name: python-passlib
|
- name: python-passlib
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.5*
|
version: 1.5*
|
||||||
- name: python-paste
|
- name: python-paste
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.7.5*
|
version: 1.7.5*
|
||||||
- name: python-paste-deploy
|
- name: python-paste-deploy
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.5*
|
version: 1.5*
|
||||||
- name: python-paste-script
|
- name: python-paste-script
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.7*
|
version: 1.7*
|
||||||
- name: python-prettytable
|
- name: python-prettytable
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.5*
|
version: 0.5*
|
||||||
- name: python-routes
|
- name: python-routes
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.12*
|
version: 1.12*
|
||||||
- name: python-sqlalchemy
|
- name: python-sqlalchemy
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.7*
|
version: 0.7*
|
||||||
- name: python-sqlite2
|
- name: python-sqlite2
|
||||||
removable: True
|
removable: true
|
||||||
version: 2.3*
|
version: 2.3*
|
||||||
- name: python-webob
|
- name: python-webob
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.0*
|
version: 1.0*
|
||||||
- name: sqlite
|
- name: sqlite
|
||||||
removable: False
|
removable: false
|
||||||
version: 3.7*
|
version: 3.7*
|
||||||
|
keystone-client:
|
||||||
melange:
|
|
||||||
packages:
|
packages:
|
||||||
|
- name: python-argparse
|
||||||
|
removable: true
|
||||||
|
version: 1.1*
|
||||||
|
- name: python-prettytable
|
||||||
|
removable: true
|
||||||
|
version: 0.5*
|
||||||
|
melange:
|
||||||
|
packages: null
|
||||||
n-api:
|
n-api:
|
||||||
packages:
|
packages:
|
||||||
- name: python-dateutil
|
- name: python-dateutil
|
||||||
removable: False
|
removable: false
|
||||||
version: 1.5*
|
version: 1.5*
|
||||||
|
|
||||||
n-cpu:
|
n-cpu:
|
||||||
packages:
|
packages:
|
||||||
- name: iscsi-initiator-utils
|
- name: iscsi-initiator-utils
|
||||||
removable: True
|
removable: true
|
||||||
version: 6.2*
|
version: 6.2*
|
||||||
- name: libvirt
|
- name: libvirt
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.9.6*
|
version: 0.9.6*
|
||||||
- name: libvirt-client
|
- name: libvirt-client
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.9.6*
|
version: 0.9.6*
|
||||||
- name: libvirt-python
|
- name: libvirt-python
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.9.6*
|
version: 0.9.6*
|
||||||
- name: lvm2
|
- name: lvm2
|
||||||
removable: True
|
removable: true
|
||||||
version: 2.02*
|
version: 2.02*
|
||||||
- name: qemu-img
|
- name: qemu-img
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.15*
|
version: 0.15*
|
||||||
- name: qemu-system-x86
|
- name: qemu-system-x86
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.15*
|
version: 0.15*
|
||||||
|
|
||||||
n-vnc:
|
n-vnc:
|
||||||
packages:
|
packages:
|
||||||
- name: numpy
|
- name: numpy
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.6*
|
version: 1.6*
|
||||||
|
|
||||||
n-vol:
|
n-vol:
|
||||||
packages:
|
packages:
|
||||||
- name: iscsi-initiator-utils
|
- name: iscsi-initiator-utils
|
||||||
removable: True
|
removable: true
|
||||||
version: 6.2*
|
version: 6.2*
|
||||||
- name: lvm2
|
- name: lvm2
|
||||||
removable: True
|
removable: true
|
||||||
version: 2.02*
|
version: 2.02*
|
||||||
- name: scsi-target-utils
|
- name: scsi-target-utils
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.0*
|
version: 1.0*
|
||||||
|
|
||||||
nova-client:
|
|
||||||
packages:
|
|
||||||
- name: python-argparse
|
|
||||||
removable: True
|
|
||||||
version: 1.1*
|
|
||||||
- name: python-prettytable
|
|
||||||
removable: True
|
|
||||||
version: 0.5*
|
|
||||||
|
|
||||||
nova:
|
nova:
|
||||||
packages:
|
packages:
|
||||||
- name: MySQL-python
|
- name: MySQL-python
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.2*
|
version: 1.2*
|
||||||
- name: dnsmasq
|
- name: dnsmasq
|
||||||
removable: False
|
removable: false
|
||||||
version: 2.58*
|
version: 2.58*
|
||||||
- name: ebtables
|
- name: ebtables
|
||||||
removable: False
|
removable: false
|
||||||
version: 2.0*
|
version: 2.0*
|
||||||
- name: iptables
|
- name: iptables
|
||||||
removable: False
|
removable: false
|
||||||
version: 1.4*
|
version: 1.4*
|
||||||
- name: iputils
|
- name: iputils
|
||||||
removable: False
|
removable: false
|
||||||
version: 20101006*
|
version: 20101006*
|
||||||
- name: kpartx
|
- name: kpartx
|
||||||
removable: False
|
removable: false
|
||||||
version: 0.4*
|
version: 0.4*
|
||||||
- name: libxml2-python
|
- name: libxml2-python
|
||||||
removable: False
|
removable: false
|
||||||
version: 2.7*
|
version: 2.7*
|
||||||
- name: parted
|
- name: parted
|
||||||
removable: False
|
removable: false
|
||||||
version: 3.0*
|
version: 3.0*
|
||||||
- name: python-boto
|
- name: python-boto
|
||||||
removable: True
|
removable: true
|
||||||
version: 2.0*
|
version: 2.0*
|
||||||
- name: python-carrot
|
- name: python-carrot
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.10*
|
version: 0.10*
|
||||||
- name: python-cheetah
|
- name: python-cheetah
|
||||||
removable: True
|
removable: true
|
||||||
version: 2.4*
|
version: 2.4*
|
||||||
- name: python-crypto
|
- name: python-crypto
|
||||||
removable: False
|
removable: false
|
||||||
version: 2.3*
|
version: 2.3*
|
||||||
- name: python-eventlet
|
- name: python-eventlet
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.9*
|
version: 0.9*
|
||||||
- name: python-feedparser
|
- name: python-feedparser
|
||||||
removable: True
|
removable: true
|
||||||
version: 5.0*
|
version: 5.0*
|
||||||
- name: python-gflags
|
- name: python-gflags
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.5*
|
version: 1.5*
|
||||||
- name: python-greenlet
|
- name: python-greenlet
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.3.1*
|
version: 0.3.1*
|
||||||
- name: python-kombu
|
- name: python-kombu
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.1*
|
version: 1.1*
|
||||||
- name: python-lockfile
|
- name: python-lockfile
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.9*
|
version: 0.9*
|
||||||
- name: python-lxml
|
- name: python-lxml
|
||||||
removable: True
|
removable: true
|
||||||
version: 2.3*
|
version: 2.3*
|
||||||
- name: python-netaddr
|
- name: python-netaddr
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.7*
|
version: 0.7*
|
||||||
- name: python-paste
|
- name: python-paste
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.7.5*
|
version: 1.7.5*
|
||||||
- name: python-routes
|
- name: python-routes
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.12*
|
version: 1.12*
|
||||||
- name: python-suds
|
- name: python-suds
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.4*
|
version: 0.4*
|
||||||
- name: pyxattr
|
- name: pyxattr
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.5*
|
version: 0.5*
|
||||||
- name: socat
|
- name: socat
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.7*
|
version: 1.7*
|
||||||
- name: sqlite
|
- name: sqlite
|
||||||
removable: False
|
removable: false
|
||||||
version: 3.7*
|
version: 3.7*
|
||||||
|
nova-client:
|
||||||
quantum-client:
|
|
||||||
packages:
|
packages:
|
||||||
- name: python-gflags
|
- name: python-argparse
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.5*
|
version: 1.1*
|
||||||
|
- name: python-prettytable
|
||||||
quantum-openvswitch:
|
removable: true
|
||||||
packages:
|
version: 0.5*
|
||||||
- name: MySQL-python
|
|
||||||
removable: True
|
|
||||||
version: 1.2*
|
|
||||||
- name: python-sqlalchemy
|
|
||||||
removable: True
|
|
||||||
version: 0.7*
|
|
||||||
|
|
||||||
quantum:
|
quantum:
|
||||||
packages:
|
packages:
|
||||||
- name: python-eventlet
|
- name: python-eventlet
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.9*
|
version: 0.9*
|
||||||
- name: python-gflags
|
- name: python-gflags
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.5*
|
version: 1.5*
|
||||||
- name: python-greenlet
|
- name: python-greenlet
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.3*
|
version: 0.3*
|
||||||
- name: python-lxml
|
- name: python-lxml
|
||||||
removable: True
|
removable: true
|
||||||
version: 2.3*
|
version: 2.3*
|
||||||
- name: python-paste
|
- name: python-paste
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.7*
|
version: 1.7*
|
||||||
- name: python-paste-deploy
|
- name: python-paste-deploy
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.5*
|
version: 1.5*
|
||||||
- name: python-routes
|
- name: python-routes
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.12*
|
version: 1.12*
|
||||||
|
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*
|
||||||
rabbit-mq:
|
rabbit-mq:
|
||||||
packages:
|
packages:
|
||||||
- name: rabbitmq-server
|
- name: rabbitmq-server
|
||||||
pre-install:
|
pre-install:
|
||||||
- cmd: ['service', 'qpidd', 'stop']
|
- cmd:
|
||||||
run_as_root: True
|
- service
|
||||||
- cmd: ['chkconfig', 'qpidd', 'off']
|
- qpidd
|
||||||
run_as_root: True
|
- stop
|
||||||
ignore_failure: True
|
run_as_root: true
|
||||||
removable: True
|
- cmd:
|
||||||
|
- chkconfig
|
||||||
|
- qpidd
|
||||||
|
- 'off'
|
||||||
|
ignore_failure: true
|
||||||
|
run_as_root: true
|
||||||
|
removable: true
|
||||||
version: 2.6*
|
version: 2.6*
|
||||||
|
|
||||||
swift:
|
swift:
|
||||||
packages:
|
packages:
|
||||||
- name: memcached
|
- name: memcached
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.4*
|
version: 1.4*
|
||||||
- name: python-configobj
|
- name: python-configobj
|
||||||
removable: True
|
removable: true
|
||||||
version: 4.7*
|
version: 4.7*
|
||||||
- name: python-eventlet
|
- name: python-eventlet
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.9*
|
version: 0.9*
|
||||||
- name: python-greenlet
|
- name: python-greenlet
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.3*
|
version: 0.3*
|
||||||
- name: python-netifaces
|
- name: python-netifaces
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.5*
|
version: 0.5*
|
||||||
- name: python-paste-deploy
|
- name: python-paste-deploy
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.5*
|
version: 1.5*
|
||||||
- name: python-webob
|
- name: python-webob
|
||||||
removable: True
|
removable: true
|
||||||
version: 1.0*
|
version: 1.0*
|
||||||
- name: pyxattr
|
- name: pyxattr
|
||||||
removable: True
|
removable: true
|
||||||
version: 0.5*
|
version: 0.5*
|
||||||
- name: sqlite
|
- name: sqlite
|
||||||
removable: True
|
removable: true
|
||||||
version: 3.7*
|
version: 3.7*
|
||||||
|
packager_name: devstack.packaging.yum:YumPackager
|
||||||
|
...
|
||||||
|
@ -1,101 +1,42 @@
|
|||||||
---
|
---
|
||||||
# RedHat Enterprise Linux 6
|
# RedHat Enterprise Linux 6
|
||||||
distro_pattern: redhat-6(.*)
|
|
||||||
name: rhel-6
|
name: rhel-6
|
||||||
packager_name: devstack.distros.rhel6:YumPackager
|
distro_pattern: redhat-6(.*)
|
||||||
commands:
|
commands:
|
||||||
apache:
|
apache:
|
||||||
restart:
|
restart: service httpd restart
|
||||||
- service
|
|
||||||
- httpd
|
|
||||||
- restart
|
|
||||||
settings:
|
settings:
|
||||||
# Ensure runs after wsgi.conf (file naming wise)
|
|
||||||
conf-link-target: /etc/httpd/conf.d/wsgi-horizon-000-default.conf
|
conf-link-target: /etc/httpd/conf.d/wsgi-horizon-000-default.conf
|
||||||
start:
|
start: service httpd start
|
||||||
- service
|
status: service httpd status
|
||||||
- httpd
|
stop: service httpd stop
|
||||||
- start
|
|
||||||
status:
|
|
||||||
- service
|
|
||||||
- httpd
|
|
||||||
- status
|
|
||||||
stop:
|
|
||||||
- service
|
|
||||||
- httpd
|
|
||||||
- stop
|
|
||||||
git:
|
git:
|
||||||
checkout:
|
checkout: git checkout
|
||||||
- git
|
clone: git clone
|
||||||
- checkout
|
pull: git pull
|
||||||
clone:
|
|
||||||
- git
|
|
||||||
- clone
|
|
||||||
pull:
|
|
||||||
- git
|
|
||||||
- pull
|
|
||||||
libvirt:
|
libvirt:
|
||||||
restart:
|
restart: service libvirtd restart
|
||||||
- service
|
status: service libvirtd status
|
||||||
- libvirtd
|
|
||||||
- restart
|
|
||||||
status:
|
|
||||||
- service
|
|
||||||
- libvirtd
|
|
||||||
- status
|
|
||||||
mysql:
|
mysql:
|
||||||
# NOTE: we aren't stopping any sql injection...
|
create_db: mysql --user=%USER% --password=%PASSWORD% -e "CREATE DATABASE %DB%;"
|
||||||
create_db:
|
drop_db: mysql --user=%USER% --password=%PASSWORD% -e "DROP DATABASE IF EXISTS
|
||||||
- mysql
|
%DB%;"
|
||||||
- --user=%USER%
|
grant_all: mysql --user=%USER% --password=%PASSWORD% -e "GRANT ALL PRIVILEGES
|
||||||
- --password=%PASSWORD%
|
ON *.* TO '%USER%'@'%' IDENTIFIED BY '%PASSWORD%'; FLUSH PRIVILEGES;"
|
||||||
- -e
|
restart: service mysqld restart
|
||||||
- CREATE DATABASE %DB%;
|
set_pwd: mysql --user=%USER% --password=%OLD_PASSWORD% -e "USE mysql; UPDATE
|
||||||
drop_db:
|
user SET password=PASSWORD('%NEW_PASSWORD%') WHERE User='%USER%'; FLUSH
|
||||||
- mysql
|
PRIVILEGES;"
|
||||||
- --user=%USER%
|
start: service mysqld start
|
||||||
- --password=%PASSWORD%
|
status: service mysqld status
|
||||||
- -e
|
stop: service mysqld stop
|
||||||
- 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: pip-python
|
pip: pip-python
|
||||||
|
|
||||||
rabbit-mq:
|
rabbit-mq:
|
||||||
start: ['service', "rabbitmq-server", "start"]
|
change_password: rabbitmqctl change_password guest
|
||||||
stop: ['service', "rabbitmq-server", "stop"]
|
restart: service rabbitmq-server restart
|
||||||
status: ['service', "rabbitmq-server", "status"]
|
start: service rabbitmq-server start
|
||||||
restart: ['service', "rabbitmq-server", "restart"]
|
status: service rabbitmq-server status
|
||||||
change_password: ['rabbitmqctl', 'change_password', 'guest']
|
stop: service rabbitmq-server stop
|
||||||
|
|
||||||
components:
|
components:
|
||||||
db:
|
db:
|
||||||
install: devstack.distros.rhel6:DBInstaller
|
install: devstack.distros.rhel6:DBInstaller
|
||||||
@ -702,5 +643,6 @@ components:
|
|||||||
start: devstack.components.swift:SwiftRuntime
|
start: devstack.components.swift:SwiftRuntime
|
||||||
stop: devstack.components.swift:SwiftRuntime
|
stop: devstack.components.swift:SwiftRuntime
|
||||||
uninstall: devstack.components.swift:SwiftUninstaller
|
uninstall: devstack.components.swift:SwiftUninstaller
|
||||||
|
packager_name: devstack.distros.rhel6:YumPackager
|
||||||
...
|
...
|
||||||
|
|
||||||
|
@ -5,111 +5,41 @@ name: ubuntu-oneiric
|
|||||||
packager_name: devstack.distros.oneiric:AptPackager
|
packager_name: devstack.distros.oneiric:AptPackager
|
||||||
commands:
|
commands:
|
||||||
apache:
|
apache:
|
||||||
restart:
|
restart: service apache2 restart
|
||||||
- service
|
|
||||||
- apache2
|
|
||||||
- restart
|
|
||||||
settings:
|
settings:
|
||||||
conf-link-target: /etc/apache2/sites-enabled/000-default
|
conf-link-target: /etc/apache2/sites-enabled/000-default
|
||||||
start:
|
start: service apache2 start
|
||||||
- service
|
status: service apache2 status
|
||||||
- apache2
|
stop: service apache2 stop
|
||||||
- start
|
|
||||||
status:
|
|
||||||
- service
|
|
||||||
- apache2
|
|
||||||
- status
|
|
||||||
stop:
|
|
||||||
- service
|
|
||||||
- apache2
|
|
||||||
- stop
|
|
||||||
git:
|
git:
|
||||||
checkout:
|
checkout: git checkout
|
||||||
- git
|
clone: git clone
|
||||||
- checkout
|
pull: git pull
|
||||||
clone:
|
|
||||||
- git
|
|
||||||
- clone
|
|
||||||
pull:
|
|
||||||
- git
|
|
||||||
- pull
|
|
||||||
iscsi:
|
iscsi:
|
||||||
restart:
|
restart: service tgt restart
|
||||||
- service
|
start: service tgt start
|
||||||
- tgt
|
status: service tgt status
|
||||||
- restart
|
stop: service tgt stop
|
||||||
start:
|
|
||||||
- service
|
|
||||||
- tgt
|
|
||||||
- start
|
|
||||||
status:
|
|
||||||
- service
|
|
||||||
- tgt
|
|
||||||
- status
|
|
||||||
stop:
|
|
||||||
- service
|
|
||||||
- tgt
|
|
||||||
- stop
|
|
||||||
libvirt:
|
libvirt:
|
||||||
restart:
|
restart: service libvirt-bin restart
|
||||||
- service
|
status: service libvirt-bin status
|
||||||
- libvirt-bin
|
|
||||||
- restart
|
|
||||||
status:
|
|
||||||
- service
|
|
||||||
- libvirt-bin
|
|
||||||
- status
|
|
||||||
mysql:
|
mysql:
|
||||||
# NOTE: we aren't stopping any sql injection...
|
# NOTE: we aren't stopping any sql injection...
|
||||||
create_db:
|
create_db: mysql --user=%USER% --password=%PASSWORD% -e "CREATE DATABASE %DB%;"
|
||||||
- mysql
|
drop_db: mysql --user=%USER% --password=%PASSWORD% -e "DROP DATABASE IF EXISTS %DB%;"
|
||||||
- --user=%USER%
|
grant_all: mysql --user=%USER% --password=%PASSWORD% -e "GRANT ALL PRIVILEGES ON *.* TO '%USER%'@'%' IDENTIFIED BY '%PASSWORD%'; FLUSH PRIVILEGES;"
|
||||||
- --password=%PASSWORD%
|
restart: service mysql restart
|
||||||
- -e
|
set_pwd: mysql --user=%USER% --password=%OLD_PASSWORD% -e "USE mysql; UPDATE user SET password=PASSWORD('%NEW_PASSWORD%') WHERE User='%USER%'; FLUSH PRIVILEGES;"
|
||||||
- CREATE DATABASE %DB%;
|
start: service mysql start
|
||||||
drop_db:
|
status: service mysql status
|
||||||
- mysql
|
stop: service mysql stop
|
||||||
- --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
|
|
||||||
- mysql
|
|
||||||
- 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
|
|
||||||
- mysql
|
|
||||||
- start
|
|
||||||
status:
|
|
||||||
- service
|
|
||||||
- mysql
|
|
||||||
- status
|
|
||||||
stop:
|
|
||||||
- service
|
|
||||||
- mysql
|
|
||||||
- stop
|
|
||||||
pip: pip
|
pip: pip
|
||||||
rabbit-mq:
|
rabbit-mq:
|
||||||
start: ['service', "rabbitmq-server", "start"]
|
start: service rabbitmq-server start
|
||||||
stop: ['service', "rabbitmq-server", "stop"]
|
stop: service rabbitmq-server stop
|
||||||
status: ['service', "rabbitmq-server", "status"]
|
status: service rabbitmq-server status
|
||||||
restart: ['service', "rabbitmq-server", "restart"]
|
restart: service rabbitmq-server restart
|
||||||
change_password: ['rabbitmqctl', 'change_password', 'guest']
|
change_password: rabbitmqctl change_password guest
|
||||||
|
|
||||||
components:
|
components:
|
||||||
db:
|
db:
|
||||||
|
@ -53,12 +53,12 @@ class DBUninstaller(comp.PkgUninstallComponent):
|
|||||||
|
|
||||||
def pre_uninstall(self):
|
def pre_uninstall(self):
|
||||||
dbtype = self.cfg.get("db", "type")
|
dbtype = self.cfg.get("db", "type")
|
||||||
dbactions = self.distro.get_command(dbtype, quiet=True)
|
dbactions = self.distro.get_command_config(dbtype, quiet=True)
|
||||||
try:
|
try:
|
||||||
if dbactions:
|
if dbactions:
|
||||||
LOG.info(("Attempting to reset your db password to \"%s\" so"
|
LOG.info(("Attempting to reset your db password to \"%s\" so"
|
||||||
" that we can set it the next time you install.") % (RESET_BASE_PW))
|
" that we can set it the next time you install.") % (RESET_BASE_PW))
|
||||||
pwd_cmd = dbactions.get('set_pwd')
|
pwd_cmd = self.distro.get_command(dbtype, 'set_pwd')
|
||||||
if pwd_cmd:
|
if pwd_cmd:
|
||||||
LOG.info("Ensuring your database is started before we operate on it.")
|
LOG.info("Ensuring your database is started before we operate on it.")
|
||||||
self.runtime.restart()
|
self.runtime.restart()
|
||||||
@ -68,7 +68,7 @@ class DBUninstaller(comp.PkgUninstallComponent):
|
|||||||
'USER': self.cfg.getdefaulted("db", "sql_user", 'root'),
|
'USER': self.cfg.getdefaulted("db", "sql_user", 'root'),
|
||||||
}
|
}
|
||||||
cmds = [{'cmd': pwd_cmd}]
|
cmds = [{'cmd': pwd_cmd}]
|
||||||
utils.execute_template(*cmds, params=params, shell=True)
|
utils.execute_template(*cmds, params=params)
|
||||||
except IOError:
|
except IOError:
|
||||||
LOG.warn(("Could not reset the database password. You might have to manually "
|
LOG.warn(("Could not reset the database password. You might have to manually "
|
||||||
"reset the password to \"%s\" before the next install") % (RESET_BASE_PW))
|
"reset the password to \"%s\" before the next install") % (RESET_BASE_PW))
|
||||||
@ -111,12 +111,12 @@ class DBInstaller(comp.PkgInstallComponent):
|
|||||||
|
|
||||||
# Extra actions to ensure we are granted access
|
# Extra actions to ensure we are granted access
|
||||||
dbtype = self.cfg.get("db", "type")
|
dbtype = self.cfg.get("db", "type")
|
||||||
dbactions = self.distro.get_command(dbtype, quiet=True)
|
dbactions = self.distro.get_command_config(dbtype, quiet=True)
|
||||||
|
|
||||||
# Set your password
|
# Set your password
|
||||||
try:
|
try:
|
||||||
if dbactions:
|
if dbactions:
|
||||||
pwd_cmd = dbactions.get('set_pwd')
|
pwd_cmd = self.distro.get_command(dbtype, 'set_pwd')
|
||||||
if pwd_cmd:
|
if pwd_cmd:
|
||||||
LOG.info(("Attempting to set your db password"
|
LOG.info(("Attempting to set your db password"
|
||||||
" just incase it wasn't set previously."))
|
" just incase it wasn't set previously."))
|
||||||
@ -128,14 +128,14 @@ class DBInstaller(comp.PkgInstallComponent):
|
|||||||
'OLD_PASSWORD': RESET_BASE_PW,
|
'OLD_PASSWORD': RESET_BASE_PW,
|
||||||
}
|
}
|
||||||
cmds = [{'cmd': pwd_cmd}]
|
cmds = [{'cmd': pwd_cmd}]
|
||||||
utils.execute_template(*cmds, params=params, shell=True)
|
utils.execute_template(*cmds, params=params)
|
||||||
except IOError:
|
except IOError:
|
||||||
LOG.warn(("Couldn't set your db password. It might have already been "
|
LOG.warn(("Couldn't set your db password. It might have already been "
|
||||||
"set by a previous process."))
|
"set by a previous process."))
|
||||||
|
|
||||||
# Ensure access granted
|
# Ensure access granted
|
||||||
if dbactions:
|
if dbactions:
|
||||||
grant_cmd = dbactions.get('grant_all')
|
grant_cmd = self.distro.get_command(dbtype, 'grant_all')
|
||||||
if grant_cmd:
|
if grant_cmd:
|
||||||
user = self.cfg.getdefaulted("db", "sql_user", 'root')
|
user = self.cfg.getdefaulted("db", "sql_user", 'root')
|
||||||
LOG.info("Updating the DB to give user '%s' full control of all databases." % (user))
|
LOG.info("Updating the DB to give user '%s' full control of all databases." % (user))
|
||||||
@ -148,7 +148,7 @@ class DBInstaller(comp.PkgInstallComponent):
|
|||||||
cmds = [{'cmd': grant_cmd}]
|
cmds = [{'cmd': grant_cmd}]
|
||||||
# Shell seems to be needed here
|
# Shell seems to be needed here
|
||||||
# since python escapes this to much...
|
# since python escapes this to much...
|
||||||
utils.execute_template(*cmds, params=params, shell=True)
|
utils.execute_template(*cmds, params=params)
|
||||||
|
|
||||||
|
|
||||||
class DBRuntime(comp.EmptyRuntime):
|
class DBRuntime(comp.EmptyRuntime):
|
||||||
@ -158,11 +158,11 @@ class DBRuntime(comp.EmptyRuntime):
|
|||||||
|
|
||||||
def _get_run_actions(self, act, exception_cls):
|
def _get_run_actions(self, act, exception_cls):
|
||||||
dbtype = self.cfg.get("db", "type")
|
dbtype = self.cfg.get("db", "type")
|
||||||
distro_options = self.distro.get_command(dbtype)
|
distro_options = self.distro.get_command_config(dbtype)
|
||||||
if distro_options is None:
|
if distro_options is None:
|
||||||
msg = BASE_ERROR % (act, dbtype)
|
msg = BASE_ERROR % (act, dbtype)
|
||||||
raise NotImplementedError(msg)
|
raise NotImplementedError(msg)
|
||||||
return distro_options.get(act)
|
return self.distro.get_command(dbtype, act)
|
||||||
|
|
||||||
def start(self):
|
def start(self):
|
||||||
if self.status() != comp.STATUS_STARTED:
|
if self.status() != comp.STATUS_STARTED:
|
||||||
@ -217,9 +217,8 @@ class DBRuntime(comp.EmptyRuntime):
|
|||||||
|
|
||||||
def drop_db(cfg, pw_gen, distro, dbname):
|
def drop_db(cfg, pw_gen, distro, dbname):
|
||||||
dbtype = cfg.get("db", "type")
|
dbtype = cfg.get("db", "type")
|
||||||
dbactions = distro.get_command(dbtype)
|
dropcmd = distro.get_command(dbtype, 'drop_db', silent=True)
|
||||||
if dbactions and dbactions.get('drop_db'):
|
if dropcmd:
|
||||||
dropcmd = dbactions.get('drop_db')
|
|
||||||
params = dict()
|
params = dict()
|
||||||
params['PASSWORD'] = pw_gen.get_password("sql", PASSWORD_PROMPT)
|
params['PASSWORD'] = pw_gen.get_password("sql", PASSWORD_PROMPT)
|
||||||
params['USER'] = cfg.getdefaulted("db", "sql_user", 'root')
|
params['USER'] = cfg.getdefaulted("db", "sql_user", 'root')
|
||||||
@ -237,9 +236,8 @@ def drop_db(cfg, pw_gen, distro, dbname):
|
|||||||
|
|
||||||
def create_db(cfg, pw_gen, distro, dbname):
|
def create_db(cfg, pw_gen, distro, dbname):
|
||||||
dbtype = cfg.get("db", "type")
|
dbtype = cfg.get("db", "type")
|
||||||
dbactions = distro.get_command(dbtype)
|
createcmd = distro.get_command(dbtype, 'create_db', silent=True)
|
||||||
if dbactions and dbactions.get('create_db'):
|
if createcmd:
|
||||||
createcmd = dbactions.get('create_db')
|
|
||||||
params = dict()
|
params = dict()
|
||||||
params['PASSWORD'] = pw_gen.get_password("sql", PASSWORD_PROMPT)
|
params['PASSWORD'] = pw_gen.get_password("sql", PASSWORD_PROMPT)
|
||||||
params['USER'] = cfg.getdefaulted("db", "sql_user", 'root')
|
params['USER'] = cfg.getdefaulted("db", "sql_user", 'root')
|
||||||
|
@ -80,8 +80,9 @@ class HorizonInstaller(comp.PythonInstallComponent):
|
|||||||
|
|
||||||
def _get_symlinks(self):
|
def _get_symlinks(self):
|
||||||
links = comp.PythonInstallComponent._get_symlinks(self)
|
links = comp.PythonInstallComponent._get_symlinks(self)
|
||||||
link_tgt = self.distro.get_command('apache', 'settings',
|
link_tgt = self.distro.get_command_config(
|
||||||
'conf-link-target', quiet=True)
|
'apache', 'settings', 'conf-link-target',
|
||||||
|
quiet=True)
|
||||||
if link_tgt:
|
if link_tgt:
|
||||||
src = self._get_target_config_name(HORIZON_APACHE_CONF)
|
src = self._get_target_config_name(HORIZON_APACHE_CONF)
|
||||||
links[src] = link_tgt
|
links[src] = link_tgt
|
||||||
|
@ -49,6 +49,8 @@ RSYNC_SERVICE_RESTART = ['service', 'rsync', 'restart']
|
|||||||
RSYSLOG_SERVICE_RESTART = ['service', 'rsyslog', 'restart']
|
RSYSLOG_SERVICE_RESTART = ['service', 'rsyslog', 'restart']
|
||||||
RSYNC_ON_OFF_RE = re.compile(r'^\s*RSYNC_ENABLE\s*=\s*(.*)$', re.I)
|
RSYNC_ON_OFF_RE = re.compile(r'^\s*RSYNC_ENABLE\s*=\s*(.*)$', re.I)
|
||||||
|
|
||||||
|
# FIXME: This should come from the persona, if we really expect
|
||||||
|
# people to change it.
|
||||||
# Defines our auth service type
|
# Defines our auth service type
|
||||||
AUTH_SERVICE = 'keystone'
|
AUTH_SERVICE = 'keystone'
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
import glob
|
import glob
|
||||||
import platform
|
import platform
|
||||||
import re
|
import re
|
||||||
|
import shlex
|
||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
@ -84,7 +85,7 @@ class Distro(object):
|
|||||||
self._commands = commands
|
self._commands = commands
|
||||||
self._components = components
|
self._components = components
|
||||||
|
|
||||||
def get_command(self, key, *more_keys, **kargs):
|
def get_command_config(self, key, *more_keys, **kargs):
|
||||||
""" Gets a end object for a given set of keys """
|
""" Gets a end object for a given set of keys """
|
||||||
root = self._commands
|
root = self._commands
|
||||||
acutal_keys = [key] + list(more_keys)
|
acutal_keys = [key] + list(more_keys)
|
||||||
@ -105,9 +106,18 @@ class Distro(object):
|
|||||||
end_value = root[end_key]
|
end_value = root[end_key]
|
||||||
else:
|
else:
|
||||||
end_value = root.get(end_key)
|
end_value = root.get(end_key)
|
||||||
LOG.debug("Retrieved end command: %s", end_value)
|
LOG.debug("Retrieved end command config: %s", end_value)
|
||||||
return end_value
|
return end_value
|
||||||
|
|
||||||
|
def get_command(self, key, *more_keys, **kargs):
|
||||||
|
"""Retrieves a string for running a command from the setup
|
||||||
|
and splits it to return a list.
|
||||||
|
"""
|
||||||
|
val = self.get_command_config(key, *more_keys, **kargs)
|
||||||
|
ret_val = shlex.split(val) if val else []
|
||||||
|
LOG.debug("Parsed configured command: %s", ret_val)
|
||||||
|
return ret_val
|
||||||
|
|
||||||
def known_component(self, name):
|
def known_component(self, name):
|
||||||
return name in self._components
|
return name in self._components
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ def _make_pip_name(name, version):
|
|||||||
|
|
||||||
def install(pip, distro):
|
def install(pip, distro):
|
||||||
name = pip['name']
|
name = pip['name']
|
||||||
root_cmd = distro.get_command('pip')
|
root_cmd = distro.get_command_config('pip')
|
||||||
LOG.audit("Installing python package (%s) using pip command (%s)" % (name, root_cmd))
|
LOG.audit("Installing python package (%s) using pip command (%s)" % (name, root_cmd))
|
||||||
name_full = _make_pip_name(name, pip.get('version'))
|
name_full = _make_pip_name(name, pip.get('version'))
|
||||||
real_cmd = [root_cmd, 'install'] + PIP_INSTALL_CMD_OPTS
|
real_cmd = [root_cmd, 'install'] + PIP_INSTALL_CMD_OPTS
|
||||||
|
@ -101,9 +101,9 @@ def execute(*cmd, **kwargs):
|
|||||||
execute_cmd = str_cmd.strip()
|
execute_cmd = str_cmd.strip()
|
||||||
|
|
||||||
if not shell:
|
if not shell:
|
||||||
LOG.audit('Running cmd: %s' % (execute_cmd))
|
LOG.audit('Running cmd: %r' % (execute_cmd))
|
||||||
else:
|
else:
|
||||||
LOG.audit('Running shell cmd: %s' % (execute_cmd))
|
LOG.audit('Running shell cmd: %r' % (execute_cmd))
|
||||||
|
|
||||||
if process_input is not None:
|
if process_input is not None:
|
||||||
LOG.audit('With stdin: %s' % (process_input))
|
LOG.audit('With stdin: %s' % (process_input))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user