2d5a5223c7
VM should know correct hostname of cloud endpoint in order to work with MOS cloud with https enabled. Change-Id: Ic41522c0635bcdc6828627438d676fdc525bcdaf
83 lines
3.2 KiB
YAML
83 lines
3.2 KiB
YAML
heat_template_version: 2014-10-16
|
|
|
|
parameters:
|
|
name: { type: string }
|
|
wc_notify: { type: string }
|
|
subnet: { type: string }
|
|
network: { type: string }
|
|
security_group: { type: string }
|
|
key_name: { type: string }
|
|
flavor: { type: string }
|
|
image: { type: string }
|
|
db_name: { type: string }
|
|
db_username: { type: string }
|
|
db_password: { type: string }
|
|
db_root_password: { type: string }
|
|
|
|
resources:
|
|
wordpress_instance:
|
|
type: OS::Nova::Server
|
|
properties:
|
|
name: { get_param: name }
|
|
image: { get_param: image }
|
|
flavor: { get_param: flavor }
|
|
key_name: { get_param: key_name }
|
|
networks:
|
|
- port: {get_resource: port}
|
|
user_data_format: RAW
|
|
user_data:
|
|
str_replace:
|
|
template: |
|
|
#!/bin/bash -v
|
|
sudo yum -y install mariadb mariadb-server httpd wordpress curl
|
|
sudo touch /var/log/mariadb/mariadb.log
|
|
sudo chown mysql.mysql /var/log/mariadb/mariadb.log
|
|
sudo systemctl start mariadb.service
|
|
# Setup MySQL root password and create a user
|
|
sudo mysqladmin -u root password db_rootpassword
|
|
cat << EOF | mysql -u root --password=db_rootpassword
|
|
CREATE DATABASE db_name;
|
|
GRANT ALL PRIVILEGES ON db_name.* TO "db_user"@"localhost"
|
|
IDENTIFIED BY "db_password";
|
|
FLUSH PRIVILEGES;
|
|
EXIT
|
|
EOF
|
|
sudo sed -i "/Deny from All/d" /etc/httpd/conf.d/wordpress.conf
|
|
sudo sed -i "s/Require local/Require all granted/" /etc/httpd/conf.d/wordpress.conf
|
|
sudo sed -i s/database_name_here/db_name/ /etc/wordpress/wp-config.php
|
|
sudo sed -i s/username_here/db_user/ /etc/wordpress/wp-config.php
|
|
sudo sed -i s/password_here/db_password/ /etc/wordpress/wp-config.php
|
|
sudo systemctl start httpd.service
|
|
IP=$(ip r get 8.8.8.8 | grep src | awk '{print $7}')
|
|
curl --data 'user_name=admin&password=123&password2=123&admin_email=asd@asd.com' http://$IP/wordpress/wp-admin/install.php?step=2
|
|
mkfifo /tmp/data
|
|
(for i in $(seq 1000); do
|
|
echo -n "1,$i,$i,page,"
|
|
head -c 100000 /dev/urandom | base64 -w 0
|
|
echo
|
|
done
|
|
) > /tmp/data &
|
|
mysql -u root --password=db_rootpassword wordpress -e 'LOAD DATA LOCAL INFILE "/tmp/data" INTO TABLE wp_posts FIELDS TERMINATED BY "," (post_author,post_title,post_name,post_type,post_content);'
|
|
sudo sh -c 'echo "172.16.0.6 mos80-ssl.fuel.local" >> /etc/hosts'
|
|
wc_notify --insecure --data-binary '{"status": "SUCCESS"}'
|
|
params:
|
|
db_rootpassword: { get_param: db_root_password }
|
|
db_name: { get_param: db_name }
|
|
db_user: { get_param: db_username }
|
|
db_password: { get_param: db_password }
|
|
wc_notify: { get_param: wc_notify }
|
|
|
|
port:
|
|
type: OS::Neutron::Port
|
|
properties:
|
|
fixed_ips:
|
|
- subnet: {get_param: subnet}
|
|
network: {get_param: network}
|
|
replacement_policy: AUTO
|
|
security_groups:
|
|
- {get_param: security_group}
|
|
|
|
outputs:
|
|
ip:
|
|
value: { get_attr: ['wordpress_instance', 'networks'] }
|