Sergey Skripnick 30173ecbb1 Add heat siege workload scenario
Change-Id: I2621f4f75eac394951081270338bd63dc43b599e
2016-02-12 08:02:46 +00:00

82 lines
3.1 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);'
wc_notify --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'] }