summaryrefslogtreecommitdiffstats
path: root/docker/uwsgi.sh
blob: cf461233258a02ea9b882d0e7664bc82a028f0ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/bash
##############################################################################
# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################

: ${YARDSTICK_REPO_DIR:='/home/opnfv/repos/yardstick'}

# generate uwsgi config file
mkdir -p /etc/yardstick

# create api log directory
mkdir -p /var/log/yardstick

# create yardstick.sock for communicating
touch /var/run/yardstick.sock

uwsgi_config='/etc/yardstick/yardstick.ini'
if [[ ! -e "${uwsgi_config}" ]];then

    cat << EOF > "${uwsgi_config}"
[uwsgi]
master = true
debug = true
chdir = ${YARDSTICK_REPO_DIR}/api
module = server
plugins = python
processes = 10
threads = 5
async = true
max-requests = 5000
chmod-socket = 666
callable = app_wrapper
enable-threads = true
close-on-exec = 1
daemonize= /var/log/yardstick/uwsgi.log
socket = /var/run/yardstick.sock
EOF
    if [[ "${YARDSTICK_VENV}" ]];then
        echo "virtualenv = ${YARDSTICK_VENV}" >> "${uwsgi_config}"
    fi
fi
span class="l l-Scalar l-Scalar-Plain">string FreeIPAIPAddress: default: '' description: 'FreeIPA server IP Address' type: string resources: FreeIPAEnrollmentConfig: type: OS::Heat::SoftwareConfig properties: group: script inputs: - name: otp - name: ipa_server - name: ipa_domain - name: ipa_ip config: | #!/bin/sh # If no IPA server was given as a parameter, it will be assumed from # DNS. if [ -n "${ipa_server}" ]; then sed -i "/${ipa_server}/d" /etc/hosts # Optionally add the FreeIPA server IP to /etc/hosts if [ -n "${ipa_ip}" ]; then echo "${ipa_ip} ${ipa_server}" >> /etc/hosts fi fi # Set the node's domain if needed if [ ! $(hostname -f | grep "${ipa_domain}$") ]; then hostnamectl set-hostname "$(hostname).${ipa_domain}" fi yum install -y ipa-client # Enroll. If there is already keytab, we have already done this. If # this node hasn't enrolled and the OTP is missing, fail. if [ ! -f /etc/krb5.keytab ]; then if [ -z "${otp}" ]; then echo "OTP is missing" exit 1 fi ipa-client-install --server ${ipa_server} -w ${otp} \ --domain=${ipa_domain} -U fi # Get a TGT kinit -k -t /etc/krb5.keytab FreeIPAControllerEnrollmentDeployment: type: OS::Heat::SoftwareDeployment properties: name: FreeIPAEnrollmentDeployment config: {get_resource: FreeIPAEnrollmentConfig} server: {get_param: server} input_values: otp: {get_param: FreeIPAOTP} ipa_server: {get_param: FreeIPAServer} ipa_domain: {get_param: CloudDomain} ipa_ip: {get_param: FreeIPAIPAddress} outputs: deploy_stdout: description: Output of the FreeIPA enrollment deployment value: {get_attr: [FreeIPAControllerEnrollmentDeployment, deploy_stdout]}