Fully integrated Resource Provider INFN-PADOVA-STACK in production since 26 September 2016 to 20 August 2017.
yum install -y nfs-utils mkdir -p /var/lib/cinder mkdir -p /var/lib/glance/images cat<<EOF>>/etc/fstab 192.168.61.100:/cinder-egi /var/lib/cinder nfs defaults 192.168.61.100:/glance-egi /var/lib/glance/images nfs defaults EOF mount -a
(see EGI Doc)
systemctl stop httpd curl -L http://repository.egi.eu/sw/production/cas/1/current/repo-files/EGI-trustanchors.repo | sudo tee /etc/yum.repos.d/EGI-trustanchors.repo yum install -y ca-policy-egi-core fetch-crl systemctl enable fetch-crl-cron.service systemctl start fetch-crl-cron.service
(see Keystone-voms doc)
yum install -y voms mod_ssl APACHE_LOG_DIR=/var/log/httpd cat <<EOF>/etc/httpd/conf.d/wsgi-keystone.conf Listen 5000 WSGIDaemonProcess keystone user=keystone group=keystone processes=8 threads=1 <VirtualHost _default_:5000> LogLevel warn ErrorLog $APACHE_LOG_DIR/error.log CustomLog $APACHE_LOG_DIR/ssl_access.log combined SSLEngine on SSLCertificateFile /etc/grid-security/hostcert.pem SSLCertificateKeyFile /etc/grid-security/hostkey.pem SSLCACertificatePath /etc/grid-security/certificates SSLCARevocationPath /etc/grid-security/certificates SSLVerifyClient optional SSLVerifyDepth 10 SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW SSLOptions +StdEnvVars +ExportCertData WSGIScriptAlias / /var/www/cgi-bin/keystone/main WSGIProcessGroup keystone </VirtualHost> Listen 35357 WSGIDaemonProcess keystoneapi user=keystone group=keystone processes=8 threads=1 <VirtualHost _default_:35357> LogLevel warn ErrorLog $APACHE_LOG_DIR/error.log CustomLog $APACHE_LOG_DIR/ssl_access.log combined SSLEngine on SSLCertificateFile /etc/grid-security/hostcert.pem SSLCertificateKeyFile /etc/grid-security/hostkey.pem SSLCACertificatePath /etc/grid-security/certificates SSLCARevocationPath /etc/grid-security/certificates SSLVerifyClient optional SSLVerifyDepth 10 SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW SSLOptions +StdEnvVars +ExportCertData WSGIScriptAlias / /var/www/cgi-bin/keystone/admin WSGIProcessGroup keystoneapi </VirtualHost> EOF
[root@egi-cloud]# ls -l /etc/grid-security/host* -rw-r--r--. 1 root root 2021 Sep 8 18:35 hostcert.pem -rw-------. 1 root root 1675 Sep 8 18:35 hostkey.pem
echo "OPENSSL_ALLOW_PROXY_CERTS=1" >> /etc/sysconfig/httpd rm -Rf /usr/lib/cgi-bin/keystone mkdir -p /var/www/cgi-bin/keystone curl http://git.openstack.org/cgit/openstack/keystone/plain/httpd/keystone.py?h=stable/liberty | tee /var/www/cgi-bin/keystone/keystone.py ln /var/www/cgi-bin/keystone/keystone.py /var/www/cgi-bin/keystone/main ln /var/www/cgi-bin/keystone/keystone.py /var/www/cgi-bin/keystone/admin chown -R keystone:keystone /var/www/cgi-bin/keystone systemctl start httpd
git clone git://github.com/IFCA/keystone-voms.git -b stable/liberty cd keystone-voms pip install .
sed -i 's|#config_file = keystone-paste.ini|config_file = /usr/share/keystone/keystone-dist-paste.ini|g' /etc/keystone/keystone.conf echo "[filter:voms]" >> /usr/share/keystone/keystone-dist-paste.ini openstack-config --set /usr/share/keystone/keystone-dist-paste.ini filter:voms paste.filter_factory keystone_voms.core:VomsAuthNMiddleware.factory sed -i 's|ec2_extension user_crud_extension|voms ec2_extension user_crud_extension|g' /usr/share/keystone/keystone-dist-paste.ini
echo "[voms]" >> /etc/keystone/keystone.conf openstack-config --set /etc/keystone/keystone.conf voms vomsdir_path /etc/grid-security/vomsdir openstack-config --set /etc/keystone/keystone.conf voms ca_path /etc/grid-security/certificates openstack-config --set /etc/keystone/keystone.conf voms voms_policy /etc/keystone/voms.json openstack-config --set /etc/keystone/keystone.conf voms vomsapi_lib libvomsapi.so.1 openstack-config --set /etc/keystone/keystone.conf voms autocreate_users True openstack-config --set /etc/keystone/keystone.conf voms add_roles False openstack-config --set /etc/keystone/keystone.conf voms user_roles _member_
mkdir -p /etc/grid-security/vomsdir/fedcloud.egi.eu cat > /etc/grid-security/vomsdir/fedcloud.egi.eu/voms1.egee.cesnet.cz.lsc << EOF /DC=org/DC=terena/DC=tcs/OU=Domain Control Validated/CN=voms1.egee.cesnet.cz /C=NL/O=TERENA/CN=TERENA eScience SSL CA EOF cat > /etc/grid-security/vomsdir/fedcloud.egi.eu/voms2.grid.cesnet.cz.lsc << EOF /DC=org/DC=terena/DC=tcs/OU=Domain Control Validated/CN=voms2.grid.cesnet.cz /C=NL/ST=Noord-Holland/L=Amsterdam/O=TERENA/CN=TERENA eScience SSL CA 2 EOF mkdir -p /etc/grid-security/vomsdir/dteam cat > /etc/grid-security/vomsdir/dteam/voms.hellasgrid.gr.lsc << EOF /C=GR/O=HellasGrid/OU=hellasgrid.gr/CN=voms.hellasgrid.gr /C=GR/O=HellasGrid/OU=Certification Authorities/CN=HellasGrid CA 2006 EOF cat > /etc/grid-security/vomsdir/dteam/voms2.hellasgrid.gr.lsc << EOF /C=GR/O=HellasGrid/OU=hellasgrid.gr/CN=voms2.hellasgrid.gr /C=GR/O=HellasGrid/OU=Certification Authorities/CN=HellasGrid CA 2006 EOF mkdir -p /etc/grid-security/vomsdir/enmr.eu cat > /etc/grid-security/vomsdir/enmr.eu/voms2.cnaf.infn.it.lsc <<EOF /C=IT/O=INFN/OU=Host/L=CNAF/CN=voms2.cnaf.infn.it /C=IT/O=INFN/CN=INFN Certification Authority EOF cat > /etc/grid-security/vomsdir/enmr.eu/voms-02.pd.infn.it.lsc <<EOF /C=IT/O=INFN/OU=Host/L=Padova/CN=voms-02.pd.infn.it /C=IT/O=INFN/CN=INFN INFN Certification Authority EOF mkdir -p /etc/grid-security/vomsdir/vo.indigo-datacloud.eu cat > /etc/grid-security/vomsdir/vo.indigo-datacloud.eu/voms01.ncg.ingrid.pt.lsc <<EOF /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt /C=PT/O=LIPCA/CN=LIP Certification Authority EOF for i in ops atlas lhcb cms do mkdir -p /etc/grid-security/vomsdir/$i cat > /etc/grid-security/vomsdir/$i/lcg-voms2.cern.ch.lsc << EOF /DC=ch/DC=cern/OU=computers/CN=lcg-voms2.cern.ch /DC=ch/DC=cern/CN=CERN Grid Certification Authority EOF cat > /etc/grid-security/vomsdir/$i/voms2.cern.ch.lsc << EOF /DC=ch/DC=cern/OU=computers/CN=voms2.cern.ch /DC=ch/DC=cern/CN=CERN Grid Certification Authority EOF done
cat <<EOF>/etc/keystone/voms.json { "vo.indigo-datacloud.eu": { "tenant": "indigo" }, "fedcloud.egi.eu": { "tenant": "fctf" }, "ops": { "tenant": "ops" }, "enmr.eu": { "tenant": "wenmr" }, "dteam": { "tenant": "dteam" }, "atlas": { "tenant": "atlas" }, "lhcb": { "tenant": "lhcb" }, "cms": { "tenant": "cms" } } EOF
mysql> use keystone; mysql> update endpoint set url="https://egi-cloud.pd.infn.it:5000/v2.0" where url="http://egi-cloud.pd.infn.it:5000/v2.0"; mysql> update endpoint set url="https://egi-cloud.pd.infn.it:35357/v2.0" where url="http://egi-cloud.pd.infn.it:35357/v2.0"; mysql> select id,url from endpoint; should show lines with the above URLs.
(see Ooi installation guide and Ooi configuration guide)
(only on Controller node)
Install INDIGO - DataCloud repositories
rpm --import http://repo.indigo-datacloud.eu/repository/RPM-GPG-KEY-indigodc yum localinstall -y indigodc-release-1.0.0-1.el7.centos.noarch.rpm
and configuration file, /etc/yum/pluginconf.d/priorities.conf as following:
[ main ] enabled = 1 check_obsoletes = 1
Install ooi
yum -y install python-ooi
and edit the /etc/nova/api-paste.ini file
cat <<EOF >>/etc/nova/api-paste.ini ######## # OOI # ######## [composite:ooi] use = call:nova.api.openstack.urlmap:urlmap_factory /occi1.1: occi_api_11 [filter:occi] paste.filter_factory = ooi.wsgi:OCCIMiddleware.factory openstack_version = /v2.1 [composite:occi_api_11] use = call:nova.api.auth:pipeline_factory_v21 noauth2 = compute_req_id faultwrap sizelimit noauth2 occi osapi_compute_app_v21 keystone = compute_req_id faultwrap sizelimit authtoken keystonecontext occi osapi_compute_app_v21 EOF
openstack-config --set /etc/nova/nova.conf DEFAULT enabled_apis osapi_compute,metadata,ooi openstack-config --set /etc/nova/nova.conf DEFAULT ooi_listen 0.0.0.0 openstack-config --set /etc/nova/nova.conf DEFAULT ooi_listen_port 8787
sed -i 's|#api_paste_config=api-paste.ini|api_paste_config=/etc/nova/api-paste.ini|g' /etc/nova/nova.conf
openstack-config --set /etc/nova/nova.conf DEFAULT default_floating_pool ext-net
sed -i 's|"admin_or_owner": "is_admin:True or project_id:%(project_id)s",|"admin_or_owner": "is_admin:True or project_id:%(project_id)s",\n "admin_or_user": "is_admin:True or user_id:%(user_id)s",|g' /etc/nova/policy.json sed -i 's|"default": "rule:admin_or_owner",|"default": "rule:admin_or_user",|g' /etc/nova/policy.json sed -i 's|"compute:get": "",|"compute:get": "rule:admin_or_owner",|g' /etc/nova/policy.json
for i in nova-api nova-cert nova-consoleauth nova-scheduler nova-conductor nova-novncproxy; do systemctl restart openstack-$i ; done
openstack service create --name occi --description "OCCI Interface" occi openstack endpoint create --region RegionOne occi public https://egi-cloud.pd.infn.it:8787/occi1.1 openstack endpoint create --region RegionOne occi internal https://egi-cloud.pd.infn.it:8787/occi1.1 openstack endpoint create --region RegionOne occi admin https://egi-cloud.pd.infn.it:8787/occi1.1
cat <<EOF > /etc/httpd/conf.d/ooi.conf #LoadModule proxy_http_module modules/mod_proxy_http.so # # Proxy Server directives. Uncomment the following lines to # enable the proxy server: #LoadModule proxy_module /usr/lib64/httpd/modules/mod_proxy.so #LoadModule proxy_http_module /usr/lib64/httpd/modules/mod_proxy_http.so #LoadModule substitute_module /usr/lib64/httpd/modules/mod_substitute.so Listen 8787 <VirtualHost _default_:8787> LogLevel debug ErrorLog /var/log/httpd/ooi-error.log CustomLog /var/log/httpd/ooi-ssl_access.log combined SSLEngine on SSLCertificateFile /etc/grid-security/hostcert.pem SSLCertificateKeyFile /etc/grid-security/hostkey.pem SSLCACertificatePath /etc/grid-security/certificates SSLCARevocationPath /etc/grid-security/certificates SSLVerifyClient optional SSLVerifyDepth 10 SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW SSLOptions +StdEnvVars +ExportCertData <IfModule mod_proxy.c> # Do not enable proxying with ProxyRequests until you have secured # your server. # Open proxy servers are dangerous both to your network and to the # Internet at large. ProxyRequests Off <Proxy *> Order deny,allow Deny from all </Proxy> ProxyPass / http://egi-cloud.pd.infn.it:9000/ ProxyPassReverse / http://egi-cloud.pd.infn.it:9000/ <Location /> AddOutputFilterByType SUBSTITUTE text/plain text text/uri-list Substitute s|http://egi-cloud.pd.infn.it:9000/|https://egi-cloud.pd.infn.it:8787/|n Order allow,deny Allow from all </Location> </IfModule> </VirtualHost> EOF
systemctl restart httpd
For complete guide about the rOCCI Client see How to use the rOCCI Client.
(See EGI guide and BDII onfiguration guide)
yum install bdii -y git clone https://github.com/EGI-FCTF/BDIIscripts cd BDIIscripts pip install .
cp /etc/cloud-info-provider/sample.openstack.yaml /etc/cloud-info-provider/bdii.yaml sed -i 's|#name: SITE_NAME|name: INFN-PADOVA-STACK|g' /etc/cloud-info-provider/bdii.yaml sed -i 's|#production_level: production|production_level: production|g' /etc/cloud-info-provider/bdii.yaml sed -i 's|#url: http://site.url.example.org/|#url: http://www.pd.infn.it|g' /etc/cloud-info-provider/bdii.yaml sed -i 's|#country: ES|country: IT|g' /etc/cloud-info-provider/bdii.yaml sed -i 's|#ngi: NGI_FOO|ngi: NGI_IT|g' /etc/cloud-info-provider/bdii.yaml sed -i 's|#latitude: 0.0|latitude: 45.41|g' /etc/cloud-info-provider/bdii.yaml sed -i 's|#longitude: 0.0|longitude: 11.89|g' /etc/cloud-info-provider/bdii.yaml sed -i 's|#general_contact: general-support@example.org|general_contact: cloud-prod@lists.pd.infn.it|g' /etc/cloud-info-provider/bdii.yaml sed -i 's|#security_contact: security-support@example.org|security_contact: grid-sec@pd.infn.it|g' /etc/cloud-info-provider/bdii.yaml sed -i 's|#user_support_contact: user-support@example.org|user_support_contact: cloud-prod@lists.pd.infn.it|g' /etc/cloud-info-provider/bdii.yaml sed -i 's|total_cores: 0|total_cores: 144|g' /etc/cloud-info-provider/bdii.yaml sed -i 's|total_ram: 0|total_ram: 285|g' /etc/cloud-info-provider/bdii.yaml sed -i 's|hypervisor: Foo Hypervisor|hypervisor: KVM Hypervisor|g' /etc/cloud-info-provider/bdii.yaml sed -i 's|hypervisor_version: 0.0.0|hypervisor_version: 2.0.0|g' /etc/cloud-info-provider/bdii.yaml sed -i 's|middleware_version: havana|middleware_version: Liberty|g' /etc/cloud-info-provider/bdii.yaml
cat<<EOF>/var/lib/bdii/gip/provider/cloud-info-provider #!/bin/sh cloud-info-provider-service --yaml /etc/cloud-info-provider/bddi.yaml \ --middleware openstack \ --os-username admin --os-password ADMIN_PASS \ --os-tenant-name admin --os-auth-url https://egi-cloud.pd.infn.it:35357/v2.0 EOF
chmod +x /var/lib/bdii/gip/provider/cloud-info-provider /var/lib/bdii/gip/provider/cloud-info-provider
systemctl start bdii
ldapsearch -x -h localhost -p 2170 -b o=glue
firewall-cmd --add-port=2170/tcp firewall-cmd --permanent --add-port=2170/tcp systemctl restart firewalld
BDII_REGIONS="CLOUD BDII" BDII_CLOUD_URL="ldap://egi-cloud.pd.infn.it:2170/GLUE2GroupID=cloud,o=glue" BDII_BDII_URL="ldap://egi-cloud-sbdii.pd.infn.it:2170/mds-vo-name=resource,o=grid"
(see EGI guide)
useradd -m -b /opt stack STACKHOME=/opt/stack yum install -y m2crypto python2-setuptools pip install nose git clone https://github.com/hepix-virtualisation/hepixvmitrust.git -b hepixvmitrust-0.0.18 git clone https://github.com/hepix-virtualisation/smimeX509validation.git -b smimeX509validation-0.0.17 git clone https://github.com/hepix-virtualisation/vmcatcher.git -b vmcatcher-0.6.1 wget http://repository.egi.eu/community/software/python.glancepush/0.0.X/releases/generic/0.0.6/python-glancepush-0.0.6.tar.gz wget http://repository.egi.eu/community/software/openstack.handler.for.vmcatcher/0.0.X/releases/generic/0.0.7/gpvcmupdate-0.0.7.tar.gz tar -zxvf python-glancepush-0.0.6.tar.gz -C $STACKHOME/ tar -zxvf gpvcmupdate-0.0.7.tar.gz -C $STACKHOME/ for i in hepixvmitrust smimeX509validation vmcatcher $STACKHOME/python-glancepush-0.0.6 $STACKHOME/gpvcmupdate-0.0.7 do cd $i python setup.py install echo exit code=$? cd done
mkdir -p /var/lib/swift/vmcatcher mkdir -p $STACKHOME/vmcatcher/cache $STACKHOME/vmcatcher/cache/partial $STACKHOME/vmcatcher/cache/expired $STACKHOME/vmcatcher/tmp mkdir -p /var/spool/glancepush /var/log/glancepush/ /etc/glancepush /etc/glancepush/transform /etc/glancepush/meta /etc/glancepush/test /etc/glancepush/clouds ln /etc/keystone/voms.json /etc/glancepush/voms.json sed -i 's|temp_dir = "/tmp/"|temp_dir = "$STACKHOME/vmcatcher/tmp/"|g' /usr/bin/gpvcmupdate.py
[root@egi-cloud ~]# su - stack [stack@egi-cloud ~]# cat << EOF > /etc/glancepush/clouds/dteam [general] # Tenant for this VO. Must match the tenant defined in voms.json file testing_tenant=dteam # Identity service endpoint (Keystone) endpoint_url=https://egi-cloud.pd.infn.it:35357/v2.0 # User Password password=ADMIN_PASS # User username=admin # Set this to true if you're NOT using self-signed certificates is_secure=True # SSH private key that will be used to perform policy checks (to be done) ssh_key=/opt/stack/.ssh/id_rsa # WARNING: Only define the next variable if you're going to need it. Otherwise you may encounter problems #cacert=path_to_your_cert EOF
[stack@egi-cloud ~]# cat << EOF > /etc/glancepush/clouds/openstack [general] # Tenant for this VO. Must match the tenant defined in voms.json file testing_tenant=admin # Identity service endpoint (Keystone) endpoint_url=https://egi-cloud.pd.infn.it:35357/v2.0 # User Password password=ADMIN_PASS # User username=admin # Set this to true if you're NOT using self-signed certificates is_secure=True # SSH private key that will be used to perform policy checks (to be done) ssh_key=/opt/stack/.ssh/id_rsa # WARNING: Only define the next variable if you're going to need it. Otherwise you may encounter problems #cacert=path_to_your_cert EOF
chown stack:stack -R /var/spool/glancepush /etc/glancepush /var/log/glancepush/
cat <<EOF>>$STACKHOME/.bashrc export VMCATCHER_RDBMS="sqlite:///$STACKHOME/vmcatcher/vmcatcher.db" export VMCATCHER_CACHE_DIR_CACHE="$STACKHOME/vmcatcher/cache" export VMCATCHER_CACHE_DIR_DOWNLOAD="$STACKHOME/vmcatcher/cache/partial" export VMCATCHER_CACHE_DIR_EXPIRE="$STACKHOME/vmcatcher/cache/expired" EOF [stack@egi-cloud ~]# export VMCATCHER_RDBMS="sqlite:////opt/stack/vmcatcher/vmcatcher.db" [stack@egi-cloud ~]# vmcatcher_subscribe -l [stack@egi-cloud ~]# vmcatcher_subscribe -e -s https://<your EGI SSO token>:x-oauth-basic@vmcaster.appdb.egi.eu/store/vo/fedcloud.egi.eu/image.list [stack@ocp-ctrl ~]$ vmcatcher_subscribe -l 76fdee70-8119-5d33-9f40-3c57e1c60df1 True None https://vmcaster.appdb.egi.eu/store/vo/fedcloud.egi.eu/image.list
cat<<EOF>$STACKHOME/gpvcmupdate-0.0.7/vmcatcher_eventHndl_OS_cron.sh #!/bin/bash #Cron handler for VMCatcher image syncronization script for OpenStack #Vmcatcher configuration variables export VMCATCHER_RDBMS="sqlite:///$STACKHOME/vmcatcher/vmcatcher.db" export VMCATCHER_CACHE_DIR_CACHE="$STACKHOME/vmcatcher/cache" export VMCATCHER_CACHE_DIR_DOWNLOAD="$STACKHOME/vmcatcher/cache/partial" export VMCATCHER_CACHE_DIR_EXPIRE="$STACKHOME/vmcatcher/cache/expired" export VMCATCHER_CACHE_EVENT="python $HOME/gpvcmupdate-0.0.7/gpvcmupdate.py -D" #Update vmcatcher image lists /usr/bin/vmcatcher_subscribe -U #Add all the new images to the cache for a in \$(/usr/bin/vmcatcher_image -l | awk '{if (\$2==2) print \$1}'); do /usr/bin/vmcatcher_image -a -u \$a done #Update the cache /usr/bin/vmcatcher_cache -v -v #Run glancepush python /usr/bin/glancepush.py EOF
for vo in atlas cms lhcb dteam ops wenmr fctf indigo do openstack role add --project $vo --user admin _member_ done chown -R stack:stack $STACKHOME
chmod +x $STACKHOME/gpvcmupdate-0.0.7/vmcatcher_eventHndl_OS_cron.sh chown -R stack:stack $STACKHOME
50 */6 * * * $STACKHOME/gpvcmupdate-0.0.7/vmcatcher_eventHndl_OS_cron.sh >> /var/log/glancepush/vmcatcher.log 2>&1
[root@cert-37 ~]# cat /etc/cron.d/ssm-cloud # send buffered usage records to APEL 30 */24 * * * root /usr/bin/ssmsend -c /etc/apel/sender-cloud.cfg
[root@egi-cloud ~]# mkdir -p /var/spool/apel/outgoing/openstack [root@egi-cloud ~]# cat<<EOF>>/etc/exports /var/spool/apel/outgoing/openstack cert-37.pd.infn.it(rw,sync) EOF [root@egi-cloud ~]$ systemctl status nfs-server
(see CASO installation guide )
yum -y install libffi-devel openssl-devel gcc pip install caso
openstack user create --domain default --password ACCOUNTING_PASS accounting openstack role create accounting
for i in fctf wenmr atlas ops dteam lhcb cms indigo do openstack role add --project $i --user accounting accounting done
cp /etc/caso/caso.conf.sample /etc/caso/caso.conf openstack-config --set /etc/caso/caso.conf DEFAULT extractor nova openstack-config --set /etc/caso/caso.conf DEFAULT site_name INFN-PADOVA-STACK openstack-config --set /etc/caso/caso.conf DEFAULT tenants fctf,wenmr,atlas,ops,dteam,lhcb,cms,indigo openstack-config --set /etc/caso/caso.conf DEFAULT messengers caso.messenger.ssm.SsmMessager openstack-config --set /etc/caso/caso.conf extractor user accounting openstack-config --set /etc/caso/caso.conf extractor password ACCOUNTING_PASS openstack-config --set /etc/caso/caso.conf extractor endpoint https://egi-cloud.pd.infn.it:35357/v2.0 openstack-config --set /etc/caso/caso.conf extractor mapping_file /etc/keystone/voms.json openstack-config --set /etc/caso/caso.conf ssm output_path /var/spool/apel/outgoing/openstack openstack-config --set /etc/caso/caso.conf logstash host egi-cloud.pd.infn.it openstack-config --set /etc/caso/caso.conf logstash port 5000
sed -i 's|\"admin_required\": \"role:admin or is_admin:1\",|\"admin_required\": \"role:admin or is_admin:1 or role:accounting\",|g' /etc/keystone/policy.json
mkdir /var/spool/caso /var/log/caso
caso-extract -v -d
cat <<EOF>/etc/cron.d/caso # extract and send usage records to APEL/SSM 10 * * * * root /usr/bin/caso-extract >> /var/log/caso/caso.log 2>&1 ; chmod go+w -R /var/spool/apel/outgoing/openstack/ EOF
$ echo encryption_method=1 > /etc/nagios/send_nsca.cfg $ usermod -a -G libvirtd nagios $ sed -i 's|#password=|password=NSCA_PASSWORD|g' /etc/nagios/send_nsca.cfg # then be sure the files below are in /usr/local/bin: $ ls /usr/local/bin/ check_kvm check_kvm_wrapper.sh nagios_check_ovs.sh $ cat <<EOF > crontab.txt # Puppet Name: nagios_check_kvm 0 */1 * * * /usr/local/bin/check_kvm_wrapper.sh # Puppet Name: nagios_check_ovs */10 * * * * /usr/local/bin/nagios_check_ovs.sh EOF $ crontab crontab.txt $ crontab -l
[root@egi-cloud ~]# os-ip-trace 90.147.77.229 +--------------------------------------+-----------+---------------------+---------------------+ | device id | user name | associating date | disassociating date | +--------------------------------------+-----------+---------------------+---------------------+ | 3002b1f1-bca3-4e4f-b21e-8de12c0b926e | admin | 2016-11-30 14:01:38 | 2016-11-30 14:03:02 | +--------------------------------------+-----------+---------------------+---------------------+
$ ssh root@egi-cloud [root@egi-cloud ~]# ./Liberty_CentOS_controller.sh restart [root@egi-cloud ~]# for i in $(seq 1 6); do ssh cloud-0$i.pn.pd.infn.it ./Liberty_CentOS_compute.sh restart; done
[root@egi-cloud ~]# python nova-quota-sync.py
[root@egi-cloud ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex DEVICE=br-ex DEVICETYPE=ovs TYPE=OVSBridge BOOTPROTO=static IPADDR=90.147.77.223 NETMASK=255.255.255.0 GATEWAY=90.147.77.254 ONBOOT=yes [root@egi-cloud ~]# cat /etc/sysconfig/network-scripts/ifcfg-em3 DEVICE=em3 ONBOOT=yes VLAN=yes BOOTPROTO=none OVS_BRIDGE=br-ex TYPE=OVSPort DEVICETYPE=ovs
[root@egi-cloud ~]# /sbin/ethtool -k em3 | grep -i generic-receive-offload generic-receive-offload: off
[root@egi-cloud ~]# cat /sbin/ifup-local #!/bin/bash case "$1" in em1) /sbin/ethtool -K $1 gro off ;; em2) /sbin/ethtool -K $1 gro off ;; em3) /sbin/ethtool -K $1 gro off ;; em4) /sbin/ethtool -K $1 gro off ;; esac exit 0
[root@egi-cloud ~]# source admin-openrc.sh [root@egi-cloud ~]# tenantId=$(openstack project list | grep fctf | awk '{print $2}') [root@egi-cloud ~]# nova quota-update --instances 40 --cores 40 --ram 81840 $tenantId [root@egi-cloud ~]# nova quota-update --instances 40 --cores 40 --ram 81840 fctf [root@egi-cloud ~]# neutron quota-update --floatingip 1 --tenant-id $tenantId [root@egi-cloud ~]# neutron quota-update --floatingip 1 --tenant-id fctf