Skip to content
This repository has been archived by the owner on Mar 8, 2019. It is now read-only.

Fix some issues when buiding MySQL guest image #4

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions elements/centos-mysql-guest-image/install.d/30-mysql
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ set -o xtrace
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm

set +e
yum -y erase mariadb-libs mariadb-config
yum -y install mysql-server
yum -y install openstack-trove-guestagent
set -e
sudo mkdir -p /etc/mysql/conf.d/
sudo chown mysql:mysql -R /etc/mysql
#mkdir /etc/mysql
Expand Down
4 changes: 3 additions & 1 deletion elements/trove-guest/install.d/15-install-from-repo
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ if [ "${DISTRO}" = "rhel" ]; then
fi

if [ "${DISTRO}" = "centos" ]; then
yum -y install https://rdo.fedorapeople.org/rdo-release.rpm
yum -y install wget
rpm -q rdo-release || install-packages http://rdo.fedorapeople.org/openstack-$RDO_RELEASE/rdo-release-$RDO_RELEASE.rpm
#yum -y install https://rdo.fedorapeople.org/rdo-release.rpm
# sed -i 's/http:\/\/repos.fedorapeople.org\/repos\/openstack\/openstack-juno\/epel-Derived\ from\ Red\ Hat\ Enterprise\ Linux\ 7.1\ (Source)\//http:\/\/repos.fedorapeople.org\/repos\/openstack\/openstack-kilo\/el7\//g' /etc/yum.repos.d/rdo-release.repo
yum -y update
sed -i -e 's/^Defaults.*requiretty/# Defaults requiretty/g' /etc/sudoers
Expand Down
2 changes: 1 addition & 1 deletion elements/trove-guest/openstack-trove-guestagent.service
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ After=syslog.target network.target cloud-init.service
[Service]
Type=simple
User=trove
ExecStart=/usr/bin/trove-guestagent --config-file /etc/trove/trove-guestagent.conf --config-file /etc/guest_info --log-dir=/var/log/trove --logfile=trove-guestagent.log
ExecStart=/usr/bin/trove-guestagent --config-file /etc/trove/trove-guestagent.conf --config-file /etc/guest_info --config-file /etc/trove/conf.d/guest_info.conf --config-file /etc/trove/conf.d/trove-guestagent.conf --log-dir=/var/log/trove --logfile=trove-guestagent.log
Restart=on-failure

[Install]
Expand Down
4 changes: 4 additions & 0 deletions elements/trove-guest/post-install.d/30-register-guest-service
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ if [ "${DISTRO}" != "ubuntu" ]; then
sudo mv /etc/trove/guest_info /etc/guest_info
sudo chmod 0755 /etc/guest_info
chown trove:trove /etc/guest_info
mkdir -p /etc/trove/conf.d
sudo cp /etc/guest_info /etc/trove/conf.d/guest_info.conf
echo '[DEFAULT]' > /etc/trove/conf.d/trove-guestagent.conf
chown -R trove:trove /etc/trove/conf.d
# Enable and start service
systemctl enable openstack-trove-guestagent.service
systemctl start openstack-trove-guestagent.service
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ swift_service_type = $DIB_TROVE_SWIFT_SERVICE_TYPE
# ========== Datastore Manager Configurations ==========
# Datastore manager implementations.
# Format: list of 'datastore-type:datastore.manager.implementation.module'
# datastore_registry_ext = mysql:trove.guestagent.datastore.mysql.manager.Manager, percona:trove.guestagent.datastore.mysql.manager.Manager
datastore_registry_ext = mysql:trove.guestagent.datastore.mysql.manager.Manager, percona:trove.guestagent.datastore.mysql.manager.Manager

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Setting this brings the following error:

Mar 08 11:12:39 db2.novalocal systemd[1]: Started OpenStack Trove Guest. Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: Traceback (most recent call last): Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: File "/usr/bin/trove-guestagent", line 10, in <module> Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: sys.exit(main()) Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: File "/usr/lib/python2.7/site-packages/trove/cmd/guest.py", line 37, in main Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: cfg.parse_args(sys.argv) Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: File "/usr/lib/python2.7/site-packages/trove/common/cfg.py", line 1578, in parse_args Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: default_config_files=default_config_files) Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 2575, in __call__ Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: else sys.argv[1:]) Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 3316, in _parse_cli_opts Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: return self._parse_config_files() Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 3352, in _parse_config_files Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: self._oparser.parse_args(self._args, namespace) Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 2366, in parse_args Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: return super(_CachedArgumentParser, self).parse_args(args, namespace) Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: File "/usr/lib64/python2.7/argparse.py", line 1688, in parse_args Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: args, argv = self.parse_known_args(args, namespace) Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: File "/usr/lib64/python2.7/argparse.py", line 1720, in parse_known_args Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: namespace, args = self._parse_known_args(args, namespace) Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: File "/usr/lib64/python2.7/argparse.py", line 1926, in _parse_known_args Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: start_index = consume_optional(start_index) Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: File "/usr/lib64/python2.7/argparse.py", line 1866, in consume_optional Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: take_action(action, args, option_string) Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: File "/usr/lib64/python2.7/argparse.py", line 1794, in take_action Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: action(self, namespace, argument_values, option_string) Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 1803, in __call__ Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: ConfigParser._parse_file(values, namespace) Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 2058, in _parse_file Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: raise ConfigFileParseError(pe.filename, str(pe)) Mar 08 11:14:31 db2.novalocal trove-guestagent[3040]: oslo_config.cfg.ConfigFileParseError: Failed to parse /etc/trove/trove-guestagent.conf: at /etc/trove/trove-guestagent.conf:70, Unexpected continuation line: ' datastore_registry_ext = mysql:trove.guestagent.datastore.mysql.manager.Manager, percona:trove.guestagent.datastore.mysql.manager.Manager' Mar 08 11:14:32 db2.novalocal systemd[1]: openstack-trove-guestagent.service: main process exited, code=exited, status=1/FAILURE Mar 08 11:14:32 db2.novalocal systemd[1]: Unit openstack-trove-guestagent.service entered failed state. Mar 08 11:14:32 db2.novalocal systemd[1]: openstack-trove-guestagent.service failed.



# ========== Default Users / DBs Configuration ==========
Expand Down Expand Up @@ -155,4 +155,4 @@ replication_namespace = trove.guestagent.strategies.replication.mysql_gtid
# replication_user = slave_user
# replication_password = slave_password

EOF
EOF