for i in $CENTOS_BASE $LOADERS $CIRROS $APP_PACKAGE \
$COMPASS_CORE $COMPASS_WEB $COMPASS_INSTALL $COMPASS_PKG \
$PIP_REPO $PIP_OPENSTACK_REPO $ANSIBLE_MODULE \
- $UBUNTU_ISO $CENTOS_ISO $XENIAL_NEWTON_PPA; do
+ $UBUNTU_ISO $CENTOS_ISO $XENIAL_NEWTON_PPA $CENTOS7_NEWTON_PPA; do
if [[ ! $i ]]; then
continue
cp $CACHE_DIR/`basename $CENTOS_ISO` $new/repos/cobbler/centos/iso/ -rf
fi
- if [[ $REDHAT7_ISO ]]; then
- cp $CACHE_DIR/`basename $REDHAT7_ISO` $new/repos/cobbler/redhat/iso/ -rf
+ if [[ $CENTOS7_NEWTON_PPA ]]; then
+ cp $CACHE_DIR/`basename $CENTOS7_NEWTON_PPA` $new/repos/cobbler/centos/ppa/ -rf
fi
cp $CACHE_DIR/`basename $LOADERS` $new/ -rf || exit 1
export ANSIBLE_MODULE=${ANSIBLE_MODULE:-https://github.com/openstack-ansible/openstack-ansible-modules.git}
# OS ISO for provisioning
-export CENTOS_ISO=${CENTOS_ISO:-$PACKAGE_URL/CentOS-7-x86_64-Minimal-1511.iso}
+export CENTOS_ISO=${CENTOS_ISO:-$PACKAGE_URL/CentOS-7-x86_64-Minimal-1611.iso} # centos 7.3
export UBUNTU_ISO=${UBUNTU_ISO:-$PACKAGE_URL/ubuntu-16.04-server-amd64.iso} # ubuntu 16.04
-#export UBUNTU_ISO1=${UBUNTU_ISO1:-$PACKAGE_URL/ubuntu-14.04.3-server-amd64.iso} # ubuntu 14.04
-#export REDHAT7_ISO=${REDHAT7_ISO:-$PACKAGE_URL/rhel-server-7.2-x86_64-dvd.iso} # rhel 7.2
# OpenStack Packages for deployment
-#export TRUSTY_JUNO_PPA=${TRUSTY_JUNO_PPA:-$PACKAGE_URL/trusty-juno-ppa.tar.gz}
-#export TRUSTY_LIBERTY_PPA=${TRUSTY_LIBERTY_PPA:-$PACKAGE_URL/trusty-liberty-ppa.tar.gz}
-#export TRUSTY_MITAKA_PPA=${TRUSTY_MITAKA_PPA:-$PACKAGE_URL/trusty-mitaka-ppa.tar.gz}
-#export XENIAL_MITAKA_PPA=${XENIAL_MITAKA_PPA:-$PACKAGE_URL/xenial-mitaka-ppa.tar.gz}
export XENIAL_NEWTON_PPA=${XENIAL_NEWTON_PPA:-$PPA_URL/xenial-newton-ppa.tar.gz}
-#export CENTOS7_JUNO_PPA=${CENTOS7_JUNO_PPA:-$PACKAGE_URL/centos7-juno-ppa.tar.gz}
-#export CENTOS7_KILO_PPA=${CENTOS7_KILO_PPA:-$PACKAGE_URL/centos7-kilo-ppa.tar.gz}
-#export CENTOS7_LIBERTY_PPA=${CENTOS7_LIBERTY_PPA:-$PACKAGE_URL/centos7-liberty-ppa.tar.gz}
-#export CENTOS7_MITAKA_PPA=${CENTOS7_MITAKA_PPA:-$PACKAGE_URL/centos7-mitaka-ppa.tar.gz}
-#export REDHAT7_OSP9_PPA=${REDHAT7_OSP9_PPA:-$PACKAGE_URL/redhat7-osp9-ppa.tar.gz}
+export CENTOS7_NEWTON_PPA=${CENTOS7_NEWTON_PPA:-$PACKAGE_URL/centos7-newton-ppa.tar.gz}
# SDN Packages for integration
export APP_PACKAGE=${APP_PACKAGE:-$FEATURE_URL/packages.tar.gz}
roles:
- monitor
-
- hosts: all
remote_user: root
max_fail_percentage: 0
verbose = {{ VERBOSE }}
debug = {{ VERBOSE }}
state_path = /var/lib/neutron
-lock_path = $state_path/lock
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True
log_dir = /var/log/neutron
rabbit_password = {{ RABBIT_PASS }}
rabbit_port = 5672
rabbit_userid = {{ RABBIT_USER }}
+
+[oslo_concurrency]
+lock_path = $state_path/lock
ceilometer_services:
- openstack-ceilometer-compute
- openstack-nova-compute
+
+nova_services:
+ - openstack-nova-compute
with_items: "{{ glance_cinder_services }}"
- name: reload apache server
- service: name=apache2 state=reloaded
+ service: name={{ item }} state=reloaded
+ with_items: "{{ services }}"
- name: restart apache server
- service: name=apache2 state=restarted enabled=yes
+ service: name={{ item }} state=restarted enabled=yes
+ with_items: "{{ services }}"
---
- include_vars: "{{ ansible_os_family }}.yml"
+- name: assure listen port exist
+ lineinfile:
+ dest: '{{ apache_config_dir }}/ports.conf'
+ regexp: "^Listen {{ internal_ip }}:8777"
+ line: "Listen {{ internal_ip }}:8777"
+ notify: restart apache server
+
+- name: update apache2 configs
+ template:
+ src: wsgi-ceilometer.conf.j2
+ dest: '{{ apache_config_dir }}/sites-available/ceilometer.conf'
+ when: ansible_os_family == 'Debian'
+ notify: reload apache server
+
- name: update apache2 configs
template:
src: wsgi-ceilometer.conf.j2
- dest: /etc/apache2/sites-available/ceilometer.conf
+ dest: '{{ apache_config_dir }}/ceilometer.conf'
+ when: ansible_os_family == 'RedHat'
notify: reload apache server
- name: enable ceilometer server
file:
- src: /etc/apache2/sites-available/ceilometer.conf
- dest: /etc/apache2/sites-enabled/ceilometer.conf
+ src: "{{ apache_config_dir }}/sites-available/ceilometer.conf"
+ dest: "{{ apache_config_dir }}/sites-enabled/ceilometer.conf"
state: "link"
when: ansible_os_family == 'Debian'
notify: reload apache server
-- name: assure listen port exist
- shell: echo "Listen {{ internal_ip }}:8777" >> /etc/apache2/ports.conf
- notify:
- - restart apache server
-
- name: copy glance & cinder configs
template:
src: "{{ item }}"
<VirtualHost {{ internal_ip }}:8777>
WSGIDaemonProcess ceilometer-api processes=4 threads={{ work_threads }} user=ceilometer group=ceilometer display-name=%{GROUP}
WSGIProcessGroup ceilometer-api
- WSGIScriptAlias / /usr/lib/python2.7/dist-packages/ceilometer/api/app.wsgi
+ WSGIScriptAlias / {{ WSGIScriptAlias_path }}
WSGIApplicationGroup %{GLOBAL}
- ErrorLog /var/log/apache2/ceilometer_error.log
- CustomLog /var/log/apache2/ceilometer_access.log combined
+ ErrorLog /var/log/{{ http_service_name }}/ceilometer_error.log
+ CustomLog /var/log/{{ http_service_name }}/ceilometer_access.log combined
<Directory /usr/lib/python2.7/dist-packages/ceilometer/api/>
<IfVersion >= 2.4>
</Directory>
</VirtualHost>
-WSGISocketPrefix /var/run/apache2
+WSGISocketPrefix /var/run/{{ http_service_name }}
- ceilometer-collector
- ceilometer-agent-central
- ceilometer-agent-notification
+ - ceilometer-agent-compute
- python-ceilometerclient
ceilometer_services:
- glance-api
- cinder-api
- cinder-scheduler
+
+services:
+ - apache2
+
+apache_config_dir: /etc/apache2
+http_service_name: apache2
+WSGIScriptAlias_path: /usr/lib/python2.7/dist-packages/ceilometer/api/app.wsgi
##############################################################################
---
ceilometer_packages:
- - ceilometer-api
- - ceilometer-collector
- - ceilometer-agent-central
- - ceilometer-agent-notification
+ - openstack-ceilometer-api
+ - openstack-ceilometer-collector
+ - openstack-ceilometer-central
+ - openstack-ceilometer-notification
+ - openstack-ceilometer-compute
- python-ceilometerclient
ceilometer_services:
- - ceilometer-agent-central
- - ceilometer-agent-notification
- - ceilometer-collector
+ - openstack-ceilometer-central
+ - openstack-ceilometer-notification
+ - openstack-ceilometer-api
+ - openstack-ceilometer-collector
glance_cinder_services:
- - glance-registry
- - glance-api
- - cinder-api
- - cinder-scheduler
+ - openstack-glance-registry
+ - openstack-glance-api
+ - openstack-cinder-api
+ - openstack-cinder-scheduler
+
+services:
+ - httpd
+
+apache_config_dir: /etc/httpd/conf.d
+http_service_name: httpd
+WSGIScriptAlias_path: /usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi
packages:
- ceph-radosgw
- fcgi
- - ceph-deploy
- ceph
services: []
--- /dev/null
+#!/bin/sh
+#
+# Generate a CRUSH location for the given entity
+#
+# The CRUSH location consists of a list of key=value pairs, separated
+# by spaces, all on a single line. This describes where in CRUSH
+# hierarhcy this entity should be placed.
+#
+# Arguments:
+# --cluster <clustername> name of the cluster (see /etc/ceph/$cluster.conf)
+# --type <osd|mds|client> daemon/entity type
+# --id <id> id (osd number, mds name, client name)
+#
+
+# if we start up as ./ceph-crush-location, assume everything else is
+# in the current directory too.
+if [ `dirname $0` = "." ] && [ $PWD != "/usr/bin" ]; then
+ BINDIR=.
+ SBINDIR=.
+ LIBDIR=.
+ ETCDIR=.
+else
+ BINDIR=@bindir@
+ SBINDIR=@prefix@/sbin
+ LIBDIR=@libdir@/ceph
+ ETCDIR=@sysconfdir@/ceph
+fi
+
+usage_exit() {
+ echo "usage: $0 [--cluster <cluster>] --id <id> --type <osd|mds|client>"
+ exit
+}
+
+cluster="ceph"
+type=""
+id=""
+while [ $# -ge 1 ]; do
+ case $1 in
+ --cluster | -C)
+ shift
+ cluster="$1"
+ shift
+ ;;
+ --id | -i)
+ shift
+ id="$1"
+ shift
+ ;;
+ --type | -t)
+ shift
+ type="$1"
+ shift
+ ;;
+ *)
+ echo "unrecognized option '$1'"
+ usage_exit
+ ;;
+ esac
+done
+
+if [ -z "$type" ]; then
+ echo "must specify entity type"
+ usage_exit
+fi
+
+if [ -z "$id" ]; then
+ echo "must specify id"
+ usage_exit
+fi
+
+# try a generic location
+location="$($BINDIR/ceph-conf --cluster=${cluster:-ceph} --name=$type.$id --lookup crush_location || :)"
+if [ -n "$location" ]; then
+ echo $location
+ exit 0
+fi
+
+# spit out something generic
+echo "host=$(hostname -s) root=default"
shell: chown -R ceph:ceph /var/local/osd
when: ansible_os_family == "Debian"
+- name: copy ceph-crush-location to osd host
+ copy:
+ src: ceph-crush-location.in
+ dest: /usr/bin/ceph-crush-location
+ mode: 0755
+ when: ansible_os_family == "RedHat"
+
- name: activate osd node
shell: ceph-disk activate /var/local/osd
tags:
- ceph_purge
- ceph_deploy
+ when: ansible_os_family == "Debian"
- name: purge ceph
shell: |
tags:
- ceph_purge
- ceph_deploy
+ when: ansible_os_family == "Debian"
- name: remove monmap
file: path="/tmp/monmap" state="absent"
shell: awk -F'=' '/compass_server/ {print $2}' /etc/compass.conf
register: COMPASS_SERVER
+- name: add yum repository for openstack
+ template: src=openstack_ppa_repo.repo.j2 dest=/etc/yum.repos.d/openstack_ppa_repo.repo
+ when: ansible_os_family == "RedHat"
+
- name: update compass-core name and ip to hosts files
shell: |
echo "# compass" >> /etc/hosts;
--- /dev/null
+[openstack_ppa_repo]
+name=openstack - openstack_repo
+proxy=_none_
+baseurl=http://{{ COMPASS_SERVER.stdout_lines[0] }}/cblr/repo_mirror/centos7-newton-ppa
+enabled=1
+gpgcheck=0
+skip_if_unavailable=1
- gcc
- redhat-lsb-core
- python-crypto
+ - wget
+ - yum-plugin-priorities
+ - vim
+ - lsof
+ - strace
+ - net-tools
pip_packages:
- crudini
- MariaDB-Galera-server
- MariaDB-client
- galera
- - MySQL-python
mongodb_packages:
- mongo-10gen-server
packages:
- openstack-keystone
+ - python-openstackclient
services:
- httpd
---
packages_noarch:
- python-keystoneclient
- - python3-keystoneclient
services_noarch: []
os_services:
with_items: "{{ services | union(services_noarch) }}"
- name: restart nova-compute services
- service: name=nova-compute state=restarted enabled=yes
+ service: name={{ nova_compute_service }} state=restarted enabled=yes
verbose = {{ VERBOSE }}
debug = {{ VERBOSE }}
state_path = /var/lib/neutron
-lock_path = $state_path/lock
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True
log_dir = /var/log/neutron
rabbit_password = {{ RABBIT_PASS }}
rabbit_port = 5672
rabbit_userid = {{ RABBIT_USER }}
+
+[oslo_concurrency]
+lock_path = $state_path/lock
services:
- neutron-openvswitch-agent
+
+nova_compute_service:
+ - nova-compute
- openvswitch
- neutron-openvswitch-agent
- libvirtd
+
+nova_compute_service:
+ - openstack-nova-compute
shell: rm /var/lib/nova/nova.sqlite || touch nova.sqlite.removed
- meta: flush_handlers
-
-- name: restart nova-compute and libvirt-bin
- shell: >
- service nova-compute restart;
- service libvirt-bin restart;
[DEFAULT]
-compute_driver=libvirt.LibvirtDriver
+compute_driver = libvirt.LibvirtDriver
force_raw_images = true
[libvirt]
+cpu_mode = none
{% if kvm_cpu_num.stdout_lines[0]|int == 0 %}
-virt_type=qemu
+virt_type = qemu
{% else %}
-virt_type=kvm
+virt_type = kvm
{% endif %}
images_type = raw
-mem_stats_period_seconds=0
+mem_stats_period_seconds = 0
services:
- nova-compute
+ - libvirt-bin
- name: add to boot scripts
shell: update-rc.d net_init defaults
+ when: ansible_os_family == "Debian"
+
+- name: add to boot scripts
+ shell: |
+ chkconfig --add net_init;
+ chkconfig --level 2345 net_init on;
+ when: ansible_os_family == 'RedHat'
- meta: flush_handlers
tags:
- storage
-
-- name: enable service
+- name: add to boot scripts
shell: update-rc.d storage defaults
+ when: ansible_os_family == "Debian"
+ tags:
+ - storage
+
+- name: add to boot scripts
+ shell: |
+ chkconfig --add storage;
+ chkconfig --level 2345 storage on;
+ when: ansible_os_family == 'RedHat'
tags:
- storage
%packages --nobase
@core
iproute
-ntp
+# ntp
openssh-clients
-wget
-yum-plugin-priorities
+# wget
+# yum-plugin-priorities
json-c
libestr
rsyslog
parted
-vim
-lsof
-strace
-#if $os_version == "rhel7"
-net-tools
-#end if
+# vim
+# lsof
+# strace
+# if $os_version == "rhel7"
+# net-tools
+# end if
#if $getVar('tool', '') != ''
#set $kickstart_software = "kickstart_software_%s" % $tool
$SNIPPET($kickstart_software)
$SNIPPET('kickstart_yum')
$SNIPPET('kickstart_ssh')
-$SNIPPET('kickstart_ntp')
+# $SNIPPET('kickstart_ntp')
$SNIPPET('kickstart_limits.conf')
$SNIPPET('kickstart_sysctl.conf')
$SNIPPET('kickstart_rsyslog.conf')
#
#end raw
-wget -O /tmp/os_state --post-data='{"ready": true}' --header=Content-Type:application/json "http://$srv/api/hosts/${hostname}/state_internal"
+curl -H "Content-Type: application/json" -X POST -d '{"ready": true}' "http://$srv/api/hosts/${hostname}/state_internal"
chkconfig set_state off
mv /etc/init.d/set_state /tmp/set_state
EOF
PARENT = 'openstack'
PACKAGE_INSTALLER = 'ansible_installer_newton'
OS_INSTALLER = 'cobbler'
-SUPPORTED_OS_PATTERNS = ['(?i)ubuntu-16\.04', '(?i)CentOS-7.*15.*']
+SUPPORTED_OS_PATTERNS = ['(?i)ubuntu-16\.04', '(?i)CentOS-7.*16.*']
DEPLOYABLE = True
--- /dev/null
+NAME = 'CentOS-7-Minimal-1611-x86_64'
+PARENT = 'CentOS'
+DEPLOYABLE = True
--- /dev/null
+{
+ "repos": "$getVar('repo_name', '')"
+}
--- /dev/null
+{
+ "name": "$hostname",
+ "hostname": "$hostname",
+ "profile": "$profile",
+ "gateway": "$gateway",
+ #import simplejson as json
+ #set nameservers = json.dumps($nameservers, encoding='utf-8')
+ "name_servers": $nameservers,
+ #set search_path = ' '.join($search_path)
+ "name_servers_search": "$search_path",
+ "proxy": "$getVar('http_proxy', '')",
+ "modify_interface":
+ #set networks = $networks
+ #set rekeyed = {}
+ #set promic_nic = ""
+ #for $nic, $val in $networks.iteritems():
+ #set ip_key = '-'.join(('ipaddress', $nic))
+ #set netmask_key = '-'.join(('netmask', $nic))
+ #set mgmt_key = '-'.join(('management', $nic))
+ #set static_key = '-'.join(('static', $nic))
+ #set $rekeyed[$ip_key] = $val.ip
+ #set $rekeyed[$netmask_key] = $val.netmask
+ #set $rekeyed[$mgmt_key] = $val.is_mgmt
+ #set $rekeyed[$static_key] = True
+
+ #set dns_key = '-'.join(('dnsname', $nic))
+ #if $val.is_mgmt
+ #set $rekeyed[$dns_key] = $dns
+ #else
+ #if '.' in $dns
+ #set $dns_name, $dns_domain = $dns.split('.', 1)
+ #set $dns_nic = '%s-%s.%s' % ($dns_name, $nic, $dns_domain)
+ #else
+ #set $dns_nic = '%s-%s' % ($dns, $nic)
+ #end if
+ #set $rekeyed[$dns_key] = $dns_nic
+ #end if
+
+ #if $val.is_promiscuous:
+ #set promic_nic = $nic
+ #end if
+ #if $val.is_mgmt:
+ #set mac_key = '-'.join(('macaddress', $nic))
+ #set $rekeyed[$mac_key] = $mac
+ #end if
+ #end for
+ #set nic_info = json.dumps($rekeyed, encoding='utf-8')
+ $nic_info
+ ,
+ "ksmeta":{
+ #set partition_config = ''
+ #for k, v in $partition.iteritems():
+ #set path = ''
+ #if v['vol_percentage']:
+ #set $path = k + ' ' + str(v['vol_percentage']) + '%'
+ #else:
+ #set $path = k + ' ' + str(v['vol_size'])
+ #end if
+ #set partition_config = ';'.join((partition_config, $path))
+ #end for
+ #set partition_config = partition_config[1:]
+ #import crypt
+ #set $password = crypt.crypt($server_credentials.password, "az")
+ #set no_proxy = ','.join($getVar('no_proxy', []))
+ "username": "$server_credentials.username",
+ "password": "$password",
+ "promisc_nics": "$promic_nic",
+ "partition": "$partition_config",
+ "https_proxy": "$getVar('https_proxy', '')",
+ "ntp_server": "$ntp_server",
+ "timezone": "$timezone",
+ "ignore_proxy": "$no_proxy",
+ "local_repo": "$getVar('local_repo', '')",
+ "disk_num": "1"
+ }
+}
if [ $OS_VERSION = 'xenial' ]; then
export ADAPTER_OS_PATTERN=${ADAPTER_OS_PATTERN:-'(?i)ubuntu-16\.04'}
else
- export ADAPTER_OS_PATTERN=${ADAPTER_OS_PATTERN:-'(?i)CentOS-7.*15.*'}
+ export ADAPTER_OS_PATTERN=${ADAPTER_OS_PATTERN:-'(?i)CentOS-7.*16.*'}
fi
# newton
# don't touch this
export ADAPTER_TARGET_SYSTEM_PATTERN="^openstack$"
-export REPO_NAME="$OS_VERSION-$OPENSTACK_VERSION-ppa"
+if [ $OS_VERSION = 'centos7' ]; then
+ unset REPO_NAME
+else
+ export REPO_NAME="$OS_VERSION-$OPENSTACK_VERSION-ppa"
+fi
+
export ADAPTER_NAME="openstack_$OPENSTACK_VERSION"
export ADAPTER_FLAVOR_PATTERN="HA-ansible-multinodes-$OPENSTACK_VERSION"
--- /dev/null
+#!/bin/bash
+set -x
+
+#set OPV="newton"
+
+yum remove systemd -y
+# add 163 repo
+#rm -f /etc/yum.repos.d/CentOS-*.repo
+yum repolist
+yum clean all
+
+yum install yum-plugin-priorities -y
+# yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm -y
+# yum install http://rdo.fedorapeople.org/openstack-$OPV/rdo-release-${OPV}.rpm -y
+yum install -y centos-release-openstack-${OPV}
+
+# modify centos7 repo for workaround
+# sed -i 's/epel-Derived from Red Hat Enterprise Linux 7.1 (Source)/epel-7/g' /etc/yum.repos.d/rdo-release.repo
+
+# add mongodb repo
+cat <<EOF >/etc/yum.repos.d/mongodb.repo
+[mongodb]
+name=MongoDB Repository
+baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
+gpgcheck=0
+enabled=1
+EOF
+
+# add galeracluster repo
+cat <<EOF >/etc/yum.repos.d/MariaDB.repo
+[mariadb]
+name =MariaDB
+baseurl = http://yum.mariadb.org/5.5/centos7-amd64
+gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
+gpgcheck=1
+EOF
+
+cat <<EOF >/etc/yum.repos.d/syslog.repo
+[rsyslog_v7]
+name=rsyslog
+baseurl="http://rpms.adiscon.com/v7-stable/epel-7/x86_64"
+enabled=1
+gpgcheck=0
+gpgkey=http://rpms.adiscon.com/RPM-GPG-KEY-Adiscon
+protect=1
+EOF
+
+rm -rf /etc/yum.repos.d/CentOS-Ceph-Jewel.repo
+#raw
+cat <<EOF >>/etc/yum.repos.d/CentOS-Ceph-Hammer.repo
+# CentOS-Ceph-Hammer.repo
+#
+# Please see http://wiki.centos.org/SpecialInterestGroup/Storage for more
+# information
+
+[centos-ceph-hammer]
+name=CentOS-\$releasever - Ceph Hammer
+baseurl=http://mirror.centos.org/centos/\$releasever/storage/\$basearch/ceph-hammer/
+gpgcheck=1
+enabled=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage
+
+[centos-ceph-hammer-test]
+name=CentOS-\$releasever - Ceph Hammer Testing
+baseurl=http://buildlogs.centos.org/centos/\$releasever/storage/\$basearch/ceph-hammer/
+gpgcheck=0
+enabled=0
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage
+
+[centos-ceph-hammer-debuginfo]
+name=CentOS-\$releasever - Ceph Hammer DebugInfo
+baseurl=http://debuginfo.centos.org/centos/\$releasever/storage/\$basearch/
+gpgcheck=1
+enabled=0
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage
+
+[centos-ceph-hammer-source]
+name=CentOS-\$releasever - Ceph Hammer Source
+baseurl=http://vault.centos.org/centos/\$releasever/storage/Source/ceph-hammer/
+gpgcheck=1
+enabled=0
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage
+EOF
+#end raw
+
+cat <<EOF >>/etc/yum.conf
+exclude=mongodb-org,mongodb-org-server
+EOF
+
+yum update -y
+yum install createrepo tar -y
+rpm --import 'https://download.ceph.com/keys/release.asc'
+
+yum -y install --downloadonly MariaDB-Galera-server
+#download packages
+#set packages = $getVar('default_packages', [])
+yum -y install --skip-broken --downloadonly #echo ' '.join(packages)
+#set packages = $getVar('packages', [])
+#silent packages.pop(packages.index('MariaDB-Galera-server'))
+yum -y install --skip-broken --downloadonly #echo ' '.join(packages)
+
+#make repo
+mkdir -p /centos7-$OPV-ppa/{Packages,repodata}
+
+find /var/cache/yum/ -name "*.rpm" | xargs -i cp {} /centos7-$OPV-ppa/Packages/
+
+rm /centos7-$OPV-ppa/Packages/selinux-policy* -f
+rm /centos7-$OPV-ppa/Packages/systemd* -f
+
+mv /epel-release-7-5.noarch.rpm /centos7-$OPV-ppa/Packages/
+cp /comps.xml /centos7-$OPV-ppa/
+cp /ceph_key_release.asc /centos7-$OPV-ppa/
+createrepo -g comps.xml /centos7-$OPV-ppa
+mkdir /centos7-$OPV-ppa/noarch
+mkdir /centos7-$OPV-ppa/noarch/Packages
+cp -r /centos7-$OPV-ppa/Packages/ceph* /centos7-$OPV-ppa/noarch/Packages/
+cp -r /centos7-$OPV-ppa/repodata/ /centos7-$OPV-ppa/noarch/
+tar -zcvf /centos7-$OPV-ppa.tar.gz /centos7-$OPV-ppa
+
make_repo --os-ver xenial --package-tag newton \
--ansible-dir $COMPASS_PATH/deploy/adapters/ansible \
--default-package "openssh-server"
+
+ make_repo --os-ver rhel7 --package-tag newton \
+ --ansible-dir $COMPASS_PATH/deploy/adapters/ansible \
+ --default-package "rsyslog-7.6.7-1.el7 strace net-tools wget vim openssh-server \
+ dracut-config-rescue-033-241.el7_1.5 dracut-network-033-241.el7_1.5"
}
function make_compass_repo()