aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/build.conf2
-rw-r--r--build/templates/RedHat_juno.tmpl18
-rw-r--r--build/templates/RedHat_kilo.tmpl17
-rw-r--r--build/templates/RedHat_liberty.tmpl8
-rw-r--r--deploy/adapters/ansible/openstack/templates/neutron.conf3
-rw-r--r--deploy/adapters/ansible/openstack/templates/nova.conf3
-rw-r--r--deploy/adapters/ansible/roles/ceph-deploy/tasks/ceph_install_Debian.yml2
-rw-r--r--deploy/adapters/ansible/roles/ceph-deploy/tasks/ceph_install_RedHat.yml2
-rw-r--r--deploy/adapters/ansible/roles/cinder-controller/templates/cinder.conf1
-rw-r--r--deploy/adapters/ansible/roles/cinder-volume/templates/cinder.conf1
-rw-r--r--deploy/adapters/ansible/roles/database/tasks/main.yml10
-rw-r--r--deploy/adapters/ansible/roles/database/tasks/mariadb.yml79
-rw-r--r--deploy/adapters/ansible/roles/database/tasks/mariadb_cluster.yml3
-rw-r--r--deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml32
-rw-r--r--deploy/adapters/ansible/roles/database/tasks/mariadb_config.yml24
-rw-r--r--deploy/adapters/ansible/roles/database/tasks/mariadb_install.yml49
-rw-r--r--deploy/adapters/ansible/roles/database/tasks/mongodb.yml2
-rw-r--r--deploy/adapters/ansible/roles/database/tasks/mysql.yml19
-rw-r--r--deploy/adapters/ansible/roles/database/templates/my-huge.cnf151
-rw-r--r--deploy/adapters/ansible/roles/database/templates/my.cnf162
-rw-r--r--deploy/adapters/ansible/roles/database/templates/server.cnf47
-rw-r--r--deploy/adapters/ansible/roles/database/templates/wsrep.cnf32
-rw-r--r--deploy/adapters/ansible/roles/database/vars/Debian.yml10
-rw-r--r--deploy/adapters/ansible/roles/database/vars/RedHat.yml17
-rw-r--r--deploy/adapters/ansible/roles/glance/templates/glance-api.conf2
-rw-r--r--deploy/adapters/ansible/roles/glance/templates/glance-registry.conf2
-rw-r--r--deploy/adapters/ansible/roles/ha/templates/haproxy.cfg19
-rw-r--r--deploy/adapters/ansible/roles/keystone/templates/keystone.conf2
-rwxr-xr-xdeploy/adapters/ansible/roles/odl_cluster/tasks/main.yml8
-rwxr-xr-xdeploy/adapters/ansible/roles/odl_cluster/tasks/odl_controller.yml14
-rwxr-xr-xdeploy/adapters/ansible/roles/odl_cluster/tasks/openvswitch.yml4
-rwxr-xr-xdeploy/adapters/ansible/roles/odl_cluster/templates/opendaylight.conf5
-rwxr-xr-xdeploy/adapters/ansible/roles/open-contrail/tasks/main.yml6
-rwxr-xr-xdeploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-add-nodes.yml76
-rw-r--r--deploy/conf/network_cfg.yaml1
-rw-r--r--deploy/host_virtual.sh1
-rw-r--r--deploy/template/vm/host.xml7
37 files changed, 308 insertions, 533 deletions
diff --git a/build/build.conf b/build/build.conf
index c72451ee..de50c40f 100644
--- a/build/build.conf
+++ b/build/build.conf
@@ -74,5 +74,5 @@ export PIP_CONF="https://bootstrap.pypa.io/ez_setup.py \
https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.23.tar.gz \
https://pypi.python.org/packages/source/l/lazypy/lazypy-0.5.tar.gz \
https://pypi.python.org/packages/source/p/pycrypto-on-pypi/pycrypto-on-pypi-2.3.tar.gz \
- https://pypi.python.org/packages/2.6/p/pymongo/pymongo-3.0.3-cp26-none-macosx_10_10_intel.whl \
+ https://pypi.python.org/packages/source/p/pymongo/pymongo-3.0.3.tar.gz \
https://pypi.python.org/packages/source/c/crudini/crudini-0.7.tar.gz"
diff --git a/build/templates/RedHat_juno.tmpl b/build/templates/RedHat_juno.tmpl
index e8a54ac8..60a03b9f 100644
--- a/build/templates/RedHat_juno.tmpl
+++ b/build/templates/RedHat_juno.tmpl
@@ -18,6 +18,7 @@ yum install http://rdo.fedorapeople.org/openstack-juno/rdo-release-juno.rpm -y
# 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 galeracluster repo
cat <<EOF >/etc/yum.repos.d/MariaDB.repo
[mariadb]
@@ -57,19 +58,20 @@ type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
EOF
+cat <<EOF >>/etc/yum.conf
+exclude=mongodb-org,mongodb-org-server
+EOF
+
yum update -y
-yum install createrepo -y
-yum install tar -y
+yum install createrepo tar -y
+yum -y install --downloadonly MariaDB-Galera-server
#download packages
#set packages = $getVar('default_packages', [])
-#for pkg in $packages
-yum -y install $pkg --downloadonly
-#end for
+yum -y install --skip-broken --downloadonly #echo ' '.join(packages)
#set packages = $getVar('packages', [])
-#for pkg in $packages
-yum -y install $pkg --downloadonly
-#end for
+#silent packages.pop(packages.index('MariaDB-Galera-server'))
+yum -y install --skip-broken --downloadonly #echo ' '.join(packages)
#make repo
diff --git a/build/templates/RedHat_kilo.tmpl b/build/templates/RedHat_kilo.tmpl
index 3d587250..826acb8d 100644
--- a/build/templates/RedHat_kilo.tmpl
+++ b/build/templates/RedHat_kilo.tmpl
@@ -64,19 +64,20 @@ baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0
EOF
+cat <<EOF >>/etc/yum.conf
+exclude=mongodb-org,mongodb-org-server
+EOF
+
yum update -y
-yum install createrepo -y
-yum install tar -y
+yum install createrepo tar -y
+yum -y install --downloadonly MariaDB-Galera-server
#download packages
#set packages = $getVar('default_packages', [])
-#for pkg in $packages
-yum -y install $pkg --downloadonly
-#end for
+yum -y install --skip-broken --downloadonly #echo ' '.join(packages)
#set packages = $getVar('packages', [])
-#for pkg in $packages
-yum -y install $pkg --downloadonly
-#end for
+#silent packages.pop(packages.index('MariaDB-Galera-server'))
+yum -y install --skip-broken --downloadonly #echo ' '.join(packages)
#make repo
diff --git a/build/templates/RedHat_liberty.tmpl b/build/templates/RedHat_liberty.tmpl
index 8473f070..29469437 100644
--- a/build/templates/RedHat_liberty.tmpl
+++ b/build/templates/RedHat_liberty.tmpl
@@ -53,16 +53,20 @@ type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
EOF
+cat <<EOF >>/etc/yum.conf
+exclude=mongodb-org,mongodb-org-server
+EOF
+
yum update -y
yum install createrepo tar -y
yum -y install --downloadonly MariaDB-Galera-server
#download packages
#set packages = $getVar('default_packages', [])
-yum -y install --downloadonly #echo ' '.join(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 --downloadonly #echo ' '.join(packages)
+yum -y install --skip-broken --downloadonly #echo ' '.join(packages)
#make repo
mkdir -p /centos7-liberty-ppa/{Packages,repodata}
diff --git a/deploy/adapters/ansible/openstack/templates/neutron.conf b/deploy/adapters/ansible/openstack/templates/neutron.conf
index 02a2cfa2..ebc46f99 100644
--- a/deploy/adapters/ansible/openstack/templates/neutron.conf
+++ b/deploy/adapters/ansible/openstack/templates/neutron.conf
@@ -428,7 +428,8 @@ min_pool_size = 1
max_pool_size = 100
# Timeout in seconds before idle sql connections are reaped
-idle_timeout = 3600
+idle_timeout = 30
+use_db_reconnect = True
# If set, use this value for max_overflow with sqlalchemy
max_overflow = 100
diff --git a/deploy/adapters/ansible/openstack/templates/nova.conf b/deploy/adapters/ansible/openstack/templates/nova.conf
index b15032f5..2364132e 100644
--- a/deploy/adapters/ansible/openstack/templates/nova.conf
+++ b/deploy/adapters/ansible/openstack/templates/nova.conf
@@ -54,6 +54,9 @@ memcached_servers = {{ internal_vip.ip }}:11211
[database]
# The SQLAlchemy connection string used to connect to the database
connection = mysql://nova:{{ NOVA_DBPASS }}@{{ db_host }}/nova
+idle_timeout = 30
+use_db_reconnect = True
+pool_timeout = 10
[keystone_authtoken]
auth_uri = http://{{ internal_vip.ip }}:5000/2.0
diff --git a/deploy/adapters/ansible/roles/ceph-deploy/tasks/ceph_install_Debian.yml b/deploy/adapters/ansible/roles/ceph-deploy/tasks/ceph_install_Debian.yml
index 7c9545ef..49a34dab 100644
--- a/deploy/adapters/ansible/roles/ceph-deploy/tasks/ceph_install_Debian.yml
+++ b/deploy/adapters/ansible/roles/ceph-deploy/tasks/ceph_install_Debian.yml
@@ -5,7 +5,7 @@
- create_ceph_cluster
- name: default config for ceph
- shell: cd {{ ceph_cluster_dir[0] }} && echo "osd_journal_size = 1024" >> ceph.conf && echo "osd_pool_default_size = 2" >> ceph.conf
+ shell: cd {{ ceph_cluster_dir[0] }} && echo "osd_journal_size = 1024" >> ceph.conf && echo "osd_pool_default_size = 2" >> ceph.conf && echo "public_network = {{ public_cidr }}" >> ceph.conf && echo "cluster_network = {{ storage_cidr }} " >> ceph.conf
- name: install ceph for every nodes includes jumpserver
shell: cd {{ ceph_cluster_dir[0] }} && ceph-deploy install {{ ceph_cluster_hosts.stdout_lines[0]}}
diff --git a/deploy/adapters/ansible/roles/ceph-deploy/tasks/ceph_install_RedHat.yml b/deploy/adapters/ansible/roles/ceph-deploy/tasks/ceph_install_RedHat.yml
index d907170f..920fbee4 100644
--- a/deploy/adapters/ansible/roles/ceph-deploy/tasks/ceph_install_RedHat.yml
+++ b/deploy/adapters/ansible/roles/ceph-deploy/tasks/ceph_install_RedHat.yml
@@ -5,7 +5,7 @@
- create_ceph_cluster
- name: default config for ceph
- shell: cd {{ ceph_cluster_dir[0] }} && echo "osd_journal_size = 1024" >> ceph.conf && echo "osd_pool_default_size = 2" >> ceph.conf
+ shell: cd {{ ceph_cluster_dir[0] }} && echo "osd_journal_size = 1024" >> ceph.conf && echo "osd_pool_default_size = 2" >> ceph.conf && echo "public_network = {{ public_cidr }}" >> ceph.conf && echo "cluster_network = {{ storage_cidr }} " >> ceph.conf
- name: install ceph for every nodes includes jumpserver
shell: cd {{ ceph_cluster_dir[0] }} && ceph-deploy install --no-adjust-repos --repo-url http://10.1.0.12/cblr/repo_mirror/centos7-juno-ppa --gpg-url http://10.1.0.12/cblr/repo_mirror/centos7-juno-ppa/ceph_key_release.asc {{ ceph_cluster_hosts.stdout_lines[0]}}
diff --git a/deploy/adapters/ansible/roles/cinder-controller/templates/cinder.conf b/deploy/adapters/ansible/roles/cinder-controller/templates/cinder.conf
index cf41817b..b61e6562 100644
--- a/deploy/adapters/ansible/roles/cinder-controller/templates/cinder.conf
+++ b/deploy/adapters/ansible/roles/cinder-controller/templates/cinder.conf
@@ -61,3 +61,4 @@ admin_password = {{ CINDER_PASS }}
[database]
connection = mysql://cinder:{{ CINDER_DBPASS }}@{{ db_host }}/cinder
+idle_timeout = 30
diff --git a/deploy/adapters/ansible/roles/cinder-volume/templates/cinder.conf b/deploy/adapters/ansible/roles/cinder-volume/templates/cinder.conf
index 0b855da5..fdcac69d 100644
--- a/deploy/adapters/ansible/roles/cinder-volume/templates/cinder.conf
+++ b/deploy/adapters/ansible/roles/cinder-volume/templates/cinder.conf
@@ -60,3 +60,4 @@ admin_password = {{ CINDER_PASS }}
[database]
connection = mysql://cinder:{{ CINDER_DBPASS }}@{{ db_host }}/cinder
+idle_timeout = 30
diff --git a/deploy/adapters/ansible/roles/database/tasks/main.yml b/deploy/adapters/ansible/roles/database/tasks/main.yml
index ad5c5b71..f380f603 100644
--- a/deploy/adapters/ansible/roles/database/tasks/main.yml
+++ b/deploy/adapters/ansible/roles/database/tasks/main.yml
@@ -1,11 +1,11 @@
---
- include_vars: "{{ ansible_os_family }}.yml"
-- include: mysql.yml
- when: haproxy_hosts is not defined
+- include: mariadb_install.yml
+- include: mariadb_cluster.yml
-- include: mariadb.yml
- when: haproxy_hosts is defined
+- include: mariadb_config.yml
+ when:
+ - inventory_hostname == haproxy_hosts.keys()[0]
- include: mongodb.yml
-
diff --git a/deploy/adapters/ansible/roles/database/tasks/mariadb.yml b/deploy/adapters/ansible/roles/database/tasks/mariadb.yml
deleted file mode 100644
index 9a9ebda5..00000000
--- a/deploy/adapters/ansible/roles/database/tasks/mariadb.yml
+++ /dev/null
@@ -1,79 +0,0 @@
----
-#- name: delete default maridb-libs
-# action: "{{ ansible_pkg_mgr }} name=mariadb-libs state=absent"
-# when: ansible_os_family == "RedHat"
-# ignore_errors: True
-
-- name: install python-mysqldb
- action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
- with_items: maridb_packages | union(packages_noarch)
-
-- name: create mysql log directy
- file: path=/var/log/mysql state=directory owner=mysql group=mysql mode=0755
-
-- name: update mariadb config file
- template: src={{ item }} dest={{ mysql_config_file_path }}/{{ item }} backup=yes
- with_items: mysql_config_file_name
-
-- name: update galera wsrep.cnf
- template: src=wsrep.cnf dest={{ wsrep_config_file_path }}/wsrep.cnf backup=yes
-
-- name: update wsrep_sst_rsync uid
- lineinfile: dest=/usr/bin/wsrep_sst_rsync state=absent regexp="\s*uid = \$MYUID$" backup=yes
-
-- name: update wsrep_sst_rsync gid
- lineinfile: dest=/usr/bin/wsrep_sst_rsync state=absent regexp="\s*gid = \$MYGID$" backup=yes
-
-- stat: path=/opt/mysql_init_complete
- register: mysql_init_complete
-
-- name: restart first mysql server
- shell: service mysql restart --wsrep-cluster-address="gcomm://" && touch /opt/mysql_init_complete
- when: inventory_hostname == haproxy_hosts.keys()[0] and mysql_init_complete.stat.exists == False
- tags:
- - mysql_restart
- #register: result
- #until: result|success
- #retries: 5
- #delay: 5
-
-- name: restart other mysql server
- shell: service mysql restart && touch /opt/mysql_init_complete
- tags:
- - mysql_restart
- when: inventory_hostname != haproxy_hosts.keys()[0] and mysql_init_complete.stat.exists == False
- #register: result
- #until: result|success
- #retries: 5
- #delay: 5
-
-- name: generate mysql service list
- shell: echo {{ item }} >> /opt/service
- with_items: services_noarch
-
-- name: create all needed db
- run_once: yes
- mysql_db: name={{ item.db }} state=present
- with_items: "{{ credentials }}"
-
-- name: create service db user
- run_once: yes
- mysql_user:
- name={{ item[0].user }}
- password={{ item[0].password }}
- priv=*.*:ALL,GRANT
- host={{ item[1] }}
- state=present
- with_nested:
- - "{{ credentials }}"
- - ['%', 'localhost', inventory_hostname]
-
-- name: create wsrep db user
- run_once: yes
- mysql_user:
- name={{ WSREP_SST_USER }}
- password={{ WSREP_SST_PASS }}
- priv=*.*:ALL,GRANT
- host={{ item }}
- state=present
- with_items: ['%', 'localhost', inventory_hostname]
diff --git a/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster.yml b/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster.yml
new file mode 100644
index 00000000..69c8997a
--- /dev/null
+++ b/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster.yml
@@ -0,0 +1,3 @@
+---
+- include: mariadb_cluster_debian.yml
+ when: ansible_os_family == "Debian"
diff --git a/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml b/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml
new file mode 100644
index 00000000..96df442d
--- /dev/null
+++ b/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml
@@ -0,0 +1,32 @@
+---
+- name: start first node to create new cluster
+ service:
+ name: mysql
+ state: restarted
+ args: "--wsrep-new-cluster"
+ when:
+ - inventory_hostname == haproxy_hosts.keys()[0]
+
+- name: wait for cluster ready
+ command: mysql --silent --skip-column-names -e 'SHOW STATUS LIKE "wsrep_evs_state"'
+ register: cluster_status
+ until: cluster_status|success
+ failed_when: not cluster_status.stdout | search("OPERATIONAL")
+ retries: 10
+ delay: 3
+ when:
+ - inventory_hostname == haproxy_hosts.keys()[0]
+
+- name: restart other nodes and join cluster
+ service:
+ name: mysql
+ state: restarted
+ when:
+ - inventory_hostname != haproxy_hosts.keys()[0]
+
+- name: restart first nodes
+ service:
+ name: mysql
+ state: restarted
+ when:
+ - inventory_hostname == haproxy_hosts.keys()[0]
diff --git a/deploy/adapters/ansible/roles/database/tasks/mariadb_config.yml b/deploy/adapters/ansible/roles/database/tasks/mariadb_config.yml
new file mode 100644
index 00000000..16783ed4
--- /dev/null
+++ b/deploy/adapters/ansible/roles/database/tasks/mariadb_config.yml
@@ -0,0 +1,24 @@
+---
+- name: create all needed db
+ mysql_db: name={{ item.db }} state=present
+ with_items: "{{ credentials }}"
+
+- name: create service db user
+ mysql_user:
+ name={{ item[0].user }}
+ password={{ item[0].password }}
+ priv=*.*:ALL,GRANT
+ host={{ item[1] }}
+ state=present
+ with_nested:
+ - "{{ credentials }}"
+ - ['%', 'localhost', inventory_hostname]
+
+- name: create wsrep db user
+ mysql_user:
+ name={{ WSREP_SST_USER }}
+ password={{ WSREP_SST_PASS }}
+ priv=*.*:ALL,GRANT
+ host={{ item }}
+ state=present
+ with_items: ['%', 'localhost', inventory_hostname]
diff --git a/deploy/adapters/ansible/roles/database/tasks/mariadb_install.yml b/deploy/adapters/ansible/roles/database/tasks/mariadb_install.yml
new file mode 100644
index 00000000..41ee5ffe
--- /dev/null
+++ b/deploy/adapters/ansible/roles/database/tasks/mariadb_install.yml
@@ -0,0 +1,49 @@
+---
+- name: disable auto start
+ copy:
+ content: "#!/bin/sh\nexit 101"
+ dest: "/usr/sbin/policy-rc.d"
+ mode: 0755
+ when: ansible_os_family == "Debian"
+
+- name: install python-mysqldb
+ action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
+ with_items: maridb_packages | union(packages_noarch)
+
+- name: change open file limit
+ copy:
+ content: "* - nofile 65536 }}"
+ dest: "/etc/security/limits.conf"
+ mode: 0755
+
+- name: update mariadb config file
+ template:
+ src: '{{ item.src }}'
+ dest: '{{ item.dest }}'
+ backup: yes
+ mode: 0644
+ with_items: mysql_config
+
+- name: bugfix for rsync version 3.1
+ lineinfile:
+ dest: /usr/bin/wsrep_sst_rsync
+ state: absent
+ regexp: '{{ item }}'
+ with_items:
+ - "\\s*uid = \\$MYUID$"
+ - "\\s*gid = \\$MYGID$"
+
+- stat: path=/opt/mysql_init_complete
+ register: mysql_init_complete
+
+- name: enable auto start
+ file:
+ path=/usr/sbin/policy-rc.d
+ state=absent
+ when: ansible_os_family == "Debian"
+
+- name: rm old datafiles
+ shell: rm -rf /var/lib/mysql/ib_logfile*
+
+- name: set owner
+ file: path=/var/lib owner=mysql group=mysql recurse=yes state=directory
diff --git a/deploy/adapters/ansible/roles/database/tasks/mongodb.yml b/deploy/adapters/ansible/roles/database/tasks/mongodb.yml
index c46a2932..c5e1d6d1 100644
--- a/deploy/adapters/ansible/roles/database/tasks/mongodb.yml
+++ b/deploy/adapters/ansible/roles/database/tasks/mongodb.yml
@@ -21,7 +21,7 @@
- /var/lib/mongodb/journal/*
- name: manually restart mongodb server
- service: name={{ mongodb_serveice }} state=restarted
+ service: name={{ mongodb_service }} state=restarted
- wait_for: port=27017 delay=3 timeout=60 host={{ internal_vip.ip }}
diff --git a/deploy/adapters/ansible/roles/database/tasks/mysql.yml b/deploy/adapters/ansible/roles/database/tasks/mysql.yml
deleted file mode 100644
index 9e272d1b..00000000
--- a/deploy/adapters/ansible/roles/database/tasks/mysql.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-- name: install mysql client and server packages
- apt: name={{ item }} state=present
- with_items: mysql_packages
-
-- name: create mysql log directy
- file: path=/var/log/mysql state=directory owner=mysql group=mysql mode=0755
-
-- name: update mysql config file
- copy: src={{ item }} dest={{ mysql_config_file_path }}/{{ item }} backup=yes
- with_items: mysql_config_file_name
-
-- name: manually restart mysql server
- shell: service mysql restart
-
-- name: create database/user
- shell: /opt/data.sh
- tags:
- - mysql_user
diff --git a/deploy/adapters/ansible/roles/database/templates/my-huge.cnf b/deploy/adapters/ansible/roles/database/templates/my-huge.cnf
deleted file mode 100644
index c561858c..00000000
--- a/deploy/adapters/ansible/roles/database/templates/my-huge.cnf
+++ /dev/null
@@ -1,151 +0,0 @@
-# Example MariaDB config file for very large systems.
-#
-# This is for a large system with memory of 1G-2G where the system runs mainly
-# MariaDB.
-#
-# MariaDB programs look for option files in a set of
-# locations which depend on the deployment platform.
-# You can copy this option file to one of those
-# locations. For information about these locations, do:
-# 'my_print_defaults --help' and see what is printed under
-# Default options are read from the following files in the given order:
-# More information at: http://dev.mysql.com/doc/mysql/en/option-files.html
-#
-# In this file, you can use all long options that a program supports.
-# If you want to know which options a program supports, run the program
-# with the "--help" option.
-
-# The following options will be passed to all MySQL clients
-[client]
-#password = your_password
-port = 3306
-socket = /var/lib/mysql/mysql.sock
-
-# Here follows entries for some specific programs
-
-# The MySQL server
-[mysqld]
-port = 3306
-socket = /var/lib/mysql/mysql.sock
-skip-external-locking
-key_buffer_size = 384M
-max_allowed_packet = 1M
-table_open_cache = 512
-sort_buffer_size = 2M
-read_buffer_size = 2M
-read_rnd_buffer_size = 8M
-myisam_sort_buffer_size = 64M
-thread_cache_size = 8
-query_cache_size = 32M
-# Try number of CPU's*2 for thread_concurrency
-thread_concurrency = 8
-
-# Point the following paths to a dedicated disk
-#tmpdir = /tmp/
-
-# Don't listen on a TCP/IP port at all. This can be a security enhancement,
-# if all processes that need to connect to mysqld run on the same host.
-# All interaction with mysqld must be made via Unix sockets or named pipes.
-# Note that using this option without enabling named pipes on Windows
-# (via the "enable-named-pipe" option) will render mysqld useless!
-#
-#skip-networking
-
-# Replication Master Server (default)
-# binary logging is required for replication
-log-bin=mysql-bin
-
-# required unique id between 1 and 2^32 - 1
-# defaults to 1 if master-host is not set
-# but will not function as a master if omitted
-server-id = 1
-
-# Replication Slave (comment out master section to use this)
-#
-# To configure this host as a replication slave, you can choose between
-# two methods :
-#
-# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
-# the syntax is:
-#
-# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
-# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
-#
-# where you replace <host>, <user>, <password> by quoted strings and
-# <port> by the master's port number (3306 by default).
-#
-# Example:
-#
-# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
-# MASTER_USER='joe', MASTER_PASSWORD='secret';
-#
-# OR
-#
-# 2) Set the variables below. However, in case you choose this method, then
-# start replication for the first time (even unsuccessfully, for example
-# if you mistyped the password in master-password and the slave fails to
-# connect), the slave will create a master.info file, and any later
-# change in this file to the variables' values below will be ignored and
-# overridden by the content of the master.info file, unless you shutdown
-# the slave server, delete master.info and restart the slaver server.
-# For that reason, you may want to leave the lines below untouched
-# (commented) and instead use CHANGE MASTER TO (see above)
-#
-# required unique id between 2 and 2^32 - 1
-# (and different from the master)
-# defaults to 2 if master-host is set
-# but will not function as a slave if omitted
-#server-id = 2
-#
-# The replication master for this slave - required
-#master-host = <hostname>
-#
-# The username the slave will use for authentication when connecting
-# to the master - required
-#master-user = <username>
-#
-# The password the slave will authenticate with when connecting to
-# the master - required
-#master-password = <password>
-#
-# The port the master is listening on.
-# optional - defaults to 3306
-#master-port = <port>
-#
-# binary logging - not required for slaves, but recommended
-#log-bin=mysql-bin
-#
-# binary logging format - mixed recommended
-#binlog_format=mixed
-
-# Uncomment the following if you are using InnoDB tables
-#innodb_data_home_dir = /var/lib/mysql
-#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
-#innodb_log_group_home_dir = /var/lib/mysql
-# You can set .._buffer_pool_size up to 50 - 80 %
-# of RAM but beware of setting memory usage too high
-#innodb_buffer_pool_size = 384M
-#innodb_additional_mem_pool_size = 20M
-# Set .._log_file_size to 25 % of buffer pool size
-#innodb_log_file_size = 100M
-#innodb_log_buffer_size = 8M
-#innodb_flush_log_at_trx_commit = 1
-#innodb_lock_wait_timeout = 50
-
-[mysqldump]
-quick
-max_allowed_packet = 16M
-
-[mysql]
-no-auto-rehash
-# Remove the next comment character if you are not familiar with SQL
-#safe-updates
-
-[myisamchk]
-key_buffer_size = 256M
-sort_buffer_size = 256M
-read_buffer = 2M
-write_buffer = 2M
-
-[mysqlhotcopy]
-interactive-timeout
diff --git a/deploy/adapters/ansible/roles/database/templates/my.cnf b/deploy/adapters/ansible/roles/database/templates/my.cnf
index 2023185d..b8016849 100644
--- a/deploy/adapters/ansible/roles/database/templates/my.cnf
+++ b/deploy/adapters/ansible/roles/database/templates/my.cnf
@@ -1,133 +1,59 @@
-#
-# The MySQL database server configuration file.
-#
-# You can copy this to one of:
-# - "/etc/mysql/my.cnf" to set global options,
-# - "~/.my.cnf" to set user-specific options.
-#
-# One can use all long options that the program supports.
-# Run program with --help to get a list of available options and with
-# --print-defaults to see which it would actually understand and use.
-#
-# For explanations see
-# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
-
-# This will be passed to all mysql clients
-# It has been reported that passwords should be enclosed with ticks/quotes
-# escpecially if they contain "#" chars...
-# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
-port = 3306
-socket = /var/run/mysqld/mysqld.sock
+port = 3306
+socket = /var/run/mysqld/mysqld.sock
-# Here is entries for some specific programs
-# The following values assume you have at least 32M ram
-# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
-socket = /var/run/mysqld/mysqld.sock
-nice = 0
+socket = /var/run/mysqld/mysqld.sock
+nice = 0
+
+
+[mysql]
+default-character-set = utf8
[mysqld]
-#
-# * Basic Settings
-#
-user = mysql
-pid-file = /var/run/mysqld/mysqld.pid
-socket = /var/run/mysqld/mysqld.sock
-port = 3306
-basedir = /usr
-datadir = /var/lib/mysql
-tmpdir = /tmp
-lc-messages-dir = /usr/share/mysql
-skip-external-locking
-skip-name-resolve
-#
-# Instead of skip-networking the default is now to listen only on
-# localhost which is more compatible and is not less secure.
-bind-address = {{ internal_vip.ip }}
-#
-# * Fine Tuning
-#
-key_buffer = 16M
-max_allowed_packet = 16M
-thread_stack = 192K
-thread_cache_size = 8
-# This replaces the startup script and checks MyISAM tables if needed
-# the first time they are touched
-myisam-recover = BACKUP
-max_connections = 2000
-max_connect_errors = 8000
-#table_cache = 64
-#thread_concurrency = 10
-#
-# * Query Cache Configuration
-#
-query_cache_limit = 1M
-query_cache_size = 16M
-#
-# * Logging and Replication
-#
-# Both location gets rotated by the cronjob.
-# Be aware that this log type is a performance killer.
-# As of 5.1 you can enable the log at runtime!
-general_log_file = /var/log/mysql/mysql.log
-#general_log = 1
-#
-# Error log - should be very few entries.
-#
-log_error = /var/log/mysql/error.log
-#
-# Here you can see queries with especially long duration
-#log_slow_queries = /var/log/mysql/mysql-slow.log
-#long_query_time = 2
-#log-queries-not-using-indexes
-#
-# The following can be used as easy to replay backup logs or for replication.
-# note: if you are setting up a replication slave, see README.Debian about
-# other settings you may need to change.
-#server-id = 1
-#log_bin = /var/log/mysql/mysql-bin.log
-expire_logs_days = 10
-max_binlog_size = 100M
-#binlog_do_db = include_database_name
-#binlog_ignore_db = include_database_name
-#
-# * InnoDB
-#
-# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
-# Read the manual for more InnoDB related options. There are many!
-#
-# * Security Features
-#
-# Read the manual, too, if you want chroot!
-# chroot = /var/lib/mysql/
-#
-# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
-#
-# ssl-ca=/etc/mysql/cacert.pem
-# ssl-cert=/etc/mysql/server-cert.pem
-# ssl-key=/etc/mysql/server-key.pem
-default-storage-engine = innodb
-innodb_file_per_table
-collation-server = utf8_general_ci
+user = mysql
+collation-server = utf8_unicode_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
+datadir = /var/lib/mysql
+bind-address = {{ internal_ip }}
+
+max-allowed-packet = 16M
+max-connect-errors = 1000000
+
+max_connections = {{ ansible_processor_vcpus * 100 }}
+
+wait_timeout = 28800
+tmp-table-size = 32M
+max-heap-table-size = 32M
+query-cache-type = 0
+query-cache-size = 0M
+thread-cache-size = 50
+open-files-limit = 65535
+table-definition-cache = 4096
+table-open-cache = 10240
+
+innodb-flush-method = O_DIRECT
+innodb-additional-mem-pool-size = 24M
+innodb-log-file-size = 1024M
+innodb-file-per-table = 1
+innodb-buffer-pool-size = 4096M
+
+innodb-read-io-threads = 4
+innodb-write-io-threads = 4
+innodb-doublewrite = 1
+innodb-log-buffer-size = 1024M
+innodb-buffer-pool-instances = 8
+innodb-log-files-in-group = 2
+innodb-thread-concurrency = {{ ansible_processor_vcpus * 2 }}
+
+innodb_stats_on_metadata = 0
[mysqldump]
quick
quote-names
-max_allowed_packet = 16M
+max_allowed_packet = 16M
-[mysql]
-#no-auto-rehash # faster start of mysql but no tab completition
-
-[isamchk]
-key_buffer = 16M
-#
-# * IMPORTANT: Additional settings that can override those from this file!
-# The files must end with '.cnf', otherwise they'll be ignored.
-#
!includedir /etc/mysql/conf.d/
-
diff --git a/deploy/adapters/ansible/roles/database/templates/server.cnf b/deploy/adapters/ansible/roles/database/templates/server.cnf
deleted file mode 100644
index 57441ddf..00000000
--- a/deploy/adapters/ansible/roles/database/templates/server.cnf
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# These groups are read by MariaDB server.
-# Use it for options that only the server (but not clients) should see
-#
-# See the examples of server my.cnf files in /usr/share/mysql/
-#
-
-# this is read by the standalone daemon and embedded servers
-[server]
-
-# this is only for the mysqld standalone daemon
-[mysqld]
-log_error = /var/log/mysql/error.log
-max_connections = 2000
-max_connect_errors = 8000
-skip-host-cache
-skip-name-resolve
-bind-address = {{ internal_vip.ip }}
-#
-# * Galera-related settings
-#
-[galera]
-# Mandatory settings
-#wsrep_provider=
-#wsrep_cluster_address=
-#binlog_format=row
-#default_storage_engine=InnoDB
-#innodb_autoinc_lock_mode=2
-#bind-address=0.0.0.0
-#
-# Optional setting
-#wsrep_slave_threads=1
-#innodb_flush_log_at_trx_commit=0
-
-# this is only for embedded server
-[embedded]
-
-# This group is only read by MariaDB servers, not by MySQL.
-# If you use the same .cnf file for MySQL and MariaDB,
-# you can put MariaDB-only options here
-[mariadb]
-
-# This group is only read by MariaDB-10.0 servers.
-# If you use the same .cnf file for MariaDB of different versions,
-# use this group for options that older servers don't understand
-[mariadb-10.0]
-
diff --git a/deploy/adapters/ansible/roles/database/templates/wsrep.cnf b/deploy/adapters/ansible/roles/database/templates/wsrep.cnf
index 197640c9..643792ab 100644
--- a/deploy/adapters/ansible/roles/database/templates/wsrep.cnf
+++ b/deploy/adapters/ansible/roles/database/templates/wsrep.cnf
@@ -1,37 +1,13 @@
-# This file contains wsrep-related mysqld options. It should be included
-# in the main MySQL configuration file.
-#
-# Options that need to be customized:
-# - wsrep_provider
-# - wsrep_cluster_address
-# - wsrep_sst_auth
-# The rest of defaults should work out of the box.
-
-##
-## mysqld options _MANDATORY_ for correct opration of the cluster
-##
[mysqld]
-
-# (This must be substituted by wsrep_format)
binlog_format=ROW
-
-# Currently only InnoDB storage engine is supported
-default-storage-engine=innodb
-
-# to avoid issues with 'bulk mode inserts' using autoinc
innodb_autoinc_lock_mode=2
-
-# This is a must for paralell applying
innodb_locks_unsafe_for_binlog=1
# Query Cache is not supported with wsrep
query_cache_size=0
query_cache_type=0
-# Override bind-address
-# In some systems bind-address defaults to 127.0.0.1, and with mysqldump SST
-# it will have (most likely) disastrous consequences on donor node
-bind-address={{ internal_vip.ip }}
+default_storage_engine = InnoDB
##
## WSREP options
@@ -41,7 +17,7 @@ bind-address={{ internal_vip.ip }}
wsrep_provider={{ wsrep_provider_file }}
# Provider specific configuration options
-#wsrep_provider_options=
+wsrep_provider_options="gcache.size=1024M"
# Logical cluster name. Should be the same for all nodes.
wsrep_cluster_name="my_wsrep_cluster"
@@ -61,7 +37,7 @@ wsrep_node_address={{ internal_ip }}
#wsrep_node_incoming_address=
# How many threads will process writesets from other nodes
-wsrep_slave_threads=1
+wsrep_slave_threads={{ ansible_processor_vcpus }}
# DBUG options for wsrep provider
#wsrep_dbug_option
@@ -83,7 +59,7 @@ wsrep_debug=1
wsrep_convert_LOCK_to_trx=0
# how many times to retry deadlocked autocommits
-wsrep_retry_autocommit=1
+wsrep_retry_autocommit=3
# change auto_increment_increment and auto_increment_offset automatically
wsrep_auto_increment_control=1
diff --git a/deploy/adapters/ansible/roles/database/vars/Debian.yml b/deploy/adapters/ansible/roles/database/vars/Debian.yml
index 7035c2bf..66480ebb 100644
--- a/deploy/adapters/ansible/roles/database/vars/Debian.yml
+++ b/deploy/adapters/ansible/roles/database/vars/Debian.yml
@@ -19,9 +19,11 @@ pip_packages: []
services: []
-mongodb_serveice: mongodb
+mongodb_service: mongodb
+mysql_config:
+ - dest: /etc/mysql/my.cnf
+ src: my.cnf
+ - dest: /etc/mysql/conf.d/wsrep.cnf
+ src: wsrep.cnf
-mysql_config_file_path: "/etc/mysql"
-mysql_config_file_name: ["my.cnf"]
-wsrep_config_file_path: "/etc/mysql/conf.d"
wsrep_provider_file: "/usr/lib/galera/libgalera_smm.so"
diff --git a/deploy/adapters/ansible/roles/database/vars/RedHat.yml b/deploy/adapters/ansible/roles/database/vars/RedHat.yml
index ac2f2f22..b8a5dd21 100644
--- a/deploy/adapters/ansible/roles/database/vars/RedHat.yml
+++ b/deploy/adapters/ansible/roles/database/vars/RedHat.yml
@@ -11,17 +11,20 @@ maridb_packages:
- MySQL-python
mongodb_packages:
- - mongo-10gen-server
- - mongo-10gen
+ - mongo-10gen-server
+ - mongo-10gen
pip_packages:
- - pymongo
+ - pymongo
services: []
-mongodb_serveice: mongod
+mongodb_service: mongodb
+
+mysql_config:
+ - dest: /etc/mysql/my.cnf
+ src: my.cnf
+ - dest: /etc/mysql/conf.d/wsrep.cnf
+ src: wsrep.cnf
-mysql_config_file_path: "/etc/my.cnf.d"
-mysql_config_file_name: ["my-huge.cnf", "server.cnf"]
-wsrep_config_file_path: "/etc/my.cnf.d"
wsrep_provider_file: "/usr/lib64/galera/libgalera_smm.so"
diff --git a/deploy/adapters/ansible/roles/glance/templates/glance-api.conf b/deploy/adapters/ansible/roles/glance/templates/glance-api.conf
index 737b9a3a..ab63e054 100644
--- a/deploy/adapters/ansible/roles/glance/templates/glance-api.conf
+++ b/deploy/adapters/ansible/roles/glance/templates/glance-api.conf
@@ -586,7 +586,7 @@ connection = mysql://glance:{{ GLANCE_DBPASS }}@{{ db_host }}/glance
# Deprecated group/name - [DEFAULT]/sql_idle_timeout
# Deprecated group/name - [DATABASE]/sql_idle_timeout
# Deprecated group/name - [sql]/idle_timeout
-#idle_timeout = 3600
+idle_timeout = 30
# Minimum number of SQL connections to keep open in a pool
# (integer value)
diff --git a/deploy/adapters/ansible/roles/glance/templates/glance-registry.conf b/deploy/adapters/ansible/roles/glance/templates/glance-registry.conf
index 1fedb0b5..06c403fd 100644
--- a/deploy/adapters/ansible/roles/glance/templates/glance-registry.conf
+++ b/deploy/adapters/ansible/roles/glance/templates/glance-registry.conf
@@ -106,7 +106,7 @@ connection = mysql://glance:{{ GLANCE_DBPASS }}@{{ db_host }}/glance
# Deprecated group/name - [DEFAULT]/sql_idle_timeout
# Deprecated group/name - [DATABASE]/sql_idle_timeout
# Deprecated group/name - [sql]/idle_timeout
-#idle_timeout = 3600
+idle_timeout = 30
# Minimum number of SQL connections to keep open in a pool
# (integer value)
diff --git a/deploy/adapters/ansible/roles/ha/templates/haproxy.cfg b/deploy/adapters/ansible/roles/ha/templates/haproxy.cfg
index c8065f05..3d76a5bc 100644
--- a/deploy/adapters/ansible/roles/ha/templates/haproxy.cfg
+++ b/deploy/adapters/ansible/roles/ha/templates/haproxy.cfg
@@ -20,10 +20,23 @@ defaults
timeout http-request 10s
timeout queue 1m
timeout connect 10s
- timeout client 6m
- timeout server 6m
+ timeout client 50s
+ timeout server 50s
timeout check 10s
- retries 5
+ retries 3
+
+listen proxy-mysql
+ bind {{ internal_vip.ip }}:3306
+ option tcpka
+ option tcplog
+ balance source
+{% for host, ip in haproxy_hosts.items() %}
+{% if loop.index == 1 %}
+ server {{ host }} {{ ip }}:3306 weight 1 check inter 2000 rise 2 fall 5
+{% else %}
+ server {{ host }} {{ ip }}:3306 weight 1 check inter 2000 rise 2 fall 5
+{% endif %}
+{% endfor %}
listen proxy-glance_registry_cluster
bind {{ internal_vip.ip }}:9191
diff --git a/deploy/adapters/ansible/roles/keystone/templates/keystone.conf b/deploy/adapters/ansible/roles/keystone/templates/keystone.conf
index fc8bf1f1..b022a084 100644
--- a/deploy/adapters/ansible/roles/keystone/templates/keystone.conf
+++ b/deploy/adapters/ansible/roles/keystone/templates/keystone.conf
@@ -614,7 +614,7 @@ connection = mysql://keystone:{{ KEYSTONE_DBPASS }}@{{ db_host }}/keystone
# Deprecated group/name - [DEFAULT]/sql_idle_timeout
# Deprecated group/name - [DATABASE]/sql_idle_timeout
# Deprecated group/name - [sql]/idle_timeout
-#idle_timeout=3600
+idle_timeout=30
# Minimum number of SQL connections to keep open in a pool
# (integer value)
diff --git a/deploy/adapters/ansible/roles/odl_cluster/tasks/main.yml b/deploy/adapters/ansible/roles/odl_cluster/tasks/main.yml
index 37dc1bd1..f06ce193 100755
--- a/deploy/adapters/ansible/roles/odl_cluster/tasks/main.yml
+++ b/deploy/adapters/ansible/roles/odl_cluster/tasks/main.yml
@@ -8,3 +8,11 @@
- name: Install ODL Cluster on Compute
include: openvswitch.yml
when: groups['odl']|length !=0 and inventory_hostname not in groups['odl']
+
+- name: check out new flow table if enable
+ shell: ovs-ofctl --protocol=OpenFlow13 dump-flows br-prv | grep CONTROLLER; while [ $? -ne 0 ]; do sleep 10; ovs-ofctl --protocol=OpenFlow13 dump-flows br-prv | grep CONTROLLER; done
+ when: groups['odl']|length !=0
+
+- name: remove controller from br-prv
+ shell: ovs-vsctl del-controller br-prv;
+ when: groups['odl']|length !=0
diff --git a/deploy/adapters/ansible/roles/odl_cluster/tasks/odl_controller.yml b/deploy/adapters/ansible/roles/odl_cluster/tasks/odl_controller.yml
index e2af1459..0c13ff21 100755
--- a/deploy/adapters/ansible/roles/odl_cluster/tasks/odl_controller.yml
+++ b/deploy/adapters/ansible/roles/odl_cluster/tasks/odl_controller.yml
@@ -144,10 +144,10 @@
shell: >
rm -rf {{ odl_home }}/data/*;
-- name: chown OpenDaylight Directory and Files
- shell: >
- chown -R odl:odl "{{ odl_home }}";
- chown odl:odl "{{ service_file.dst }}";
+#- name: chown OpenDaylight Directory and Files
+# shell: >
+# chown -R odl:odl "{{ odl_home }}";
+# chown odl:odl "{{ service_file.dst }}";
##########################################################################################################
@@ -164,6 +164,12 @@
- name: Run OpenVSwitch Script
include: openvswitch.yml
+
+- name: chown OpenDaylight Directory and Files
+ shell: >
+ chown -R odl:odl "{{ odl_home }}";
+ chown odl:odl "{{ service_file.dst }}";
+
#- name: Configure Neutron1
# shell: >
# crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers opendaylight;
diff --git a/deploy/adapters/ansible/roles/odl_cluster/tasks/openvswitch.yml b/deploy/adapters/ansible/roles/odl_cluster/tasks/openvswitch.yml
index e52b18ff..3bef2af3 100755
--- a/deploy/adapters/ansible/roles/odl_cluster/tasks/openvswitch.yml
+++ b/deploy/adapters/ansible/roles/odl_cluster/tasks/openvswitch.yml
@@ -19,7 +19,7 @@
- name: Stop the Open vSwitch service and clear existing OVSDB
shell: >
- ovs-vsctl del-br br-int ;
+ ovs-ofctl del-flows br-int ;
ovs-vsctl del-br br-tun ;
ovs-vsctl del-manager ;
@@ -43,7 +43,7 @@
- name: Configure Neutron1
shell: >
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers opendaylight;
- crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types vlan;
+ crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types vxlan;
#- name: Adjust Service Daemon
# shell: >
diff --git a/deploy/adapters/ansible/roles/odl_cluster/templates/opendaylight.conf b/deploy/adapters/ansible/roles/odl_cluster/templates/opendaylight.conf
index d04cac22..105bb265 100755
--- a/deploy/adapters/ansible/roles/odl_cluster/templates/opendaylight.conf
+++ b/deploy/adapters/ansible/roles/odl_cluster/templates/opendaylight.conf
@@ -13,7 +13,7 @@ env KARAF_HOME="/opt/opendaylight-0.3.0"
#env JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"
env JAVA_HOME="/usr/lib/jvm/java-8-oracle"
env JAVA_OPTS="-server -Xms128M -Xmx4096M -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:MaxPermSize=512M -Dcom.sun.management.jmxremote"
-env OPTS="-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true"
+env OPTS="-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true"
env MAIN="org.apache.karaf.main.Main"
@@ -26,6 +26,7 @@ script
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:$KARAF_BASE/lib"
export JAVA_ENDORSED_DIRS="${JAVA_HOME}/jre/lib/endorsed:${JAVA_HOME}/lib/endorsed:${KARAF_HOME}/lib/endorsed"
export JAVA_EXT_DIRS="${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext:${KARAF_HOME}/lib/ext"
+ export JAVA_SECURITY_PRO="${KARAF_HOME}/etc/odl.java.security"
for file in "$KARAF_HOME"/lib/karaf*.jar
do
@@ -36,6 +37,6 @@ script
fi
done
- exec $JAVA_HOME/bin/java $JAVA_OPTS -Djava.endorsed.dirs="${JAVA_ENDORSED_DIRS}" -Djava.ext.dirs="${JAVA_EXT_DIRS}" -Dkaraf.instances="${KARAF_HOME}/instances" -Dkaraf.home="$KARAF_HOME" -Dkaraf.base="$KARAF_BASE" -Dkaraf.data="$KARAF_DATA" -Dkaraf.etc="$KARAF_ETC" -Djava.io.tmpdir="$KARAF_DATA/tmp" -Djava.util.logging.config.file="$KARAF_BASE/etc/java.util.logging.properties" $KARAF_OPTS $OPTS -classpath "$CLASSPATH" $MAIN
+ exec $JAVA_HOME/bin/java -Djava.security.properties="${JAVA_SECURITY_PRO}" $JAVA_OPTS -Djava.endorsed.dirs="${JAVA_ENDORSED_DIRS}" -Djava.ext.dirs="${JAVA_EXT_DIRS}" -Dkaraf.instances="${KARAF_HOME}/instances" -Dkaraf.home="$KARAF_HOME" -Dkaraf.base="$KARAF_BASE" -Dkaraf.data="$KARAF_DATA" -Dkaraf.etc="$KARAF_ETC" -Djava.io.tmpdir="$KARAF_DATA/tmp" -Djava.util.logging.config.file="$KARAF_BASE/etc/java.util.logging.properties" $KARAF_OPTS $OPTS -classpath "$CLASSPATH" $MAIN
end script
diff --git a/deploy/adapters/ansible/roles/open-contrail/tasks/main.yml b/deploy/adapters/ansible/roles/open-contrail/tasks/main.yml
index 94b41557..2a0e2709 100755
--- a/deploy/adapters/ansible/roles/open-contrail/tasks/main.yml
+++ b/deploy/adapters/ansible/roles/open-contrail/tasks/main.yml
@@ -7,9 +7,9 @@
when: groups['opencontrail_control']|length !=0
# Compass install OpenStack with not only OpenContrail but also ODL or ONOS, and sometimes user just installs OpenStack, so item 'opencontrail_control' is kind of a mark that whether Compass install OpenContrail or not.
-- name: Install kernal on all hosts for Open Contrail
- include: install/install-kernal.yml
- when: groups['opencontrail_control']|length !=0
+#- name: Install kernal on all hosts for Open Contrail
+# include: install/install-kernel.yml
+# when: groups['opencontrail_control']|length !=0
- name: Install database for Open Contrail
include: install/install-database.yml
diff --git a/deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-add-nodes.yml b/deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-add-nodes.yml
index 8245c046..f4ad05cb 100755
--- a/deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-add-nodes.yml
+++ b/deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-add-nodes.yml
@@ -1,39 +1,47 @@
---
-- hosts: config
- sudo: yes
- tasks:
- - name: "provision config node"
- shell: "python /opt/contrail/utils/provision_config_node.py --api_server_ip {{ contrail_haproxy_address }} --admin_user {{ contrail_admin_user }} --admin_password {{ contrail_admin_password }} --admin_tenant_name admin --oper add --host_name {{ ansible_hostname }} --host_ip {{ contrail_address }}"
+#- hosts: config
+# sudo: yes
+# tasks:
+- name: "provision config node"
+ shell: "python /opt/contrail/utils/provision_config_node.py --api_server_ip {{ contrail_haproxy_address }} --admin_user {{ contrail_admin_user }} --admin_password {{ contrail_admin_password }} --admin_tenant_name admin --oper add --host_name {{ ansible_hostname }} --host_ip {{ contrail_address }}"
+ when: inventory_hostname in groups['opencontrail_config']
-- hosts: database
- sudo: yes
- tasks:
- - name: "provision database node"
- shell: "python /opt/contrail/utils/provision_database_node.py --api_server_ip {{ contrail_haproxy_address }} --admin_user {{ contrail_admin_user }} --admin_password {{ contrail_admin_password }} --admin_tenant_name admin --oper add --host_name {{ ansible_hostname }} --host_ip {{ contrail_address }}"
+#- hosts: database
+# sudo: yes
+# tasks:
+- name: "provision database node"
+ shell: "python /opt/contrail/utils/provision_database_node.py --api_server_ip {{ contrail_haproxy_address }} --admin_user {{ contrail_admin_user }} --admin_password {{ contrail_admin_password }} --admin_tenant_name admin --oper add --host_name {{ ansible_hostname }} --host_ip {{ contrail_address }}"
+ when: inventory_hostname in groups['opencontrail_database']
+
+
+#- hosts: collector
+# sudo: yes
+# tasks:
+- name: "provision collector node"
+ shell: "python /opt/contrail/utils/provision_analytics_node.py --api_server_ip {{ contrail_haproxy_address }} --admin_user {{ contrail_admin_user }} --admin_password {{ contrail_admin_password }} --admin_tenant_name admin --oper add --host_name {{ ansible_hostname }} --host_ip {{ contrail_address }}"
+ when: inventory_hostname in groups['opencontrail_collector']
-- hosts: collector
- sudo: yes
- tasks:
- - name: "provision collector node"
- shell: "python /opt/contrail/utils/provision_analytics_node.py --api_server_ip {{ contrail_haproxy_address }} --admin_user {{ contrail_admin_user }} --admin_password {{ contrail_admin_password }} --admin_tenant_name admin --oper add --host_name {{ ansible_hostname }} --host_ip {{ contrail_address }}"
+#- hosts: control
+# sudo: yes
+# tasks:
+- name: "provision control node"
+ shell: "python /opt/contrail/utils/provision_control.py --api_server_ip {{ contrail_haproxy_address }} --api_server_port 8082 --admin_user {{ contrail_admin_user }} --admin_password {{ contrail_admin_password }} --admin_tenant_name admin --oper add --host_name {{ ansible_hostname }} --host_ip {{ contrail_address }} --router_asn {{ contrail_router_asn }}"
+ when: inventory_hostname in groups['opencontrail_control']
+
+#- hosts: config
+# sudo: yes
+# tasks:
+- name: "provision metadata services"
+ shell: "python /opt/contrail/utils/provision_linklocal.py --api_server_ip {{ contrail_haproxy_address }} --admin_user {{ contrail_admin_user }} --admin_password {{ contrail_admin_password }} --admin_tenant_name admin --oper add --ipfabric_service_ip 10.84.50.1 --ipfabric_service_port 8775 --linklocal_service_name metadata --linklocal_service_ip 169.254.169.254 --linklocal_service_port 80"
+ run_once: yes
+ when: inventory_hostname in groups['opencontrail_config']
-- hosts: control
- sudo: yes
- tasks:
- - name: "provision control node"
- shell: "python /opt/contrail/utils/provision_control.py --api_server_ip {{ contrail_haproxy_address }} --api_server_port 8082 --admin_user {{ contrail_admin_user }} --admin_password {{ contrail_admin_password }} --admin_tenant_name admin --oper add --host_name {{ ansible_hostname }} --host_ip {{ contrail_address }} --router_asn {{ contrail_router_asn }}"
-- hosts: config
- sudo: yes
- tasks:
- - name: "provision metadata services"
- shell: "python /opt/contrail/utils/provision_linklocal.py --api_server_ip {{ contrail_haproxy_address }} --admin_user {{ contrail_admin_user }} --admin_password {{ contrail_admin_password }} --admin_tenant_name admin --oper add --ipfabric_service_ip 10.84.50.1 --ipfabric_service_port 8775 --linklocal_service_name metadata --linklocal_service_ip 169.254.169.254 --linklocal_service_port 80"
- run_once: yes
-
-
-- hosts: config
- sudo: yes
- tasks:
- - name: "provision encap"
- shell: "python /opt/contrail/utils/provision_encap.py --api_server_ip {{ contrail_haproxy_address }} --admin_user {{ contrail_admin_user }} --admin_password {{ contrail_admin_password }} --oper add --encap_priority MPLSoUDP,MPLSoGRE,VXLAN"
- run_once: yes
+#- hosts: config
+# sudo: yes
+# tasks:
+- name: "provision encap"
+ shell: "python /opt/contrail/utils/provision_encap.py --api_server_ip {{ contrail_haproxy_address }} --admin_user {{ contrail_admin_user }} --admin_password {{ contrail_admin_password }} --oper add --encap_priority MPLSoUDP,MPLSoGRE,VXLAN"
+ run_once: yes
+ when: inventory_hostname in groups['opencontrail_config']
+ \ No newline at end of file
diff --git a/deploy/conf/network_cfg.yaml b/deploy/conf/network_cfg.yaml
index d79ff8e5..9997f7fe 100644
--- a/deploy/conf/network_cfg.yaml
+++ b/deploy/conf/network_cfg.yaml
@@ -73,6 +73,7 @@ public_vip:
netmask: "24"
interface: external
+onos_nic: eth2
public_net_info:
enable: False
network: ext-net
diff --git a/deploy/host_virtual.sh b/deploy/host_virtual.sh
index d769010b..4cb33613 100644
--- a/deploy/host_virtual.sh
+++ b/deploy/host_virtual.sh
@@ -31,6 +31,7 @@ function launch_host_vms() {
-e "s#REPLACE_IMAGE#$vm_dir/disk.img#g" \
-e "s/REPLACE_BOOT_MAC/${mac_array[i]}/g" \
-e "s/REPLACE_NET_INSTALL/install/g" \
+ -e "s/REPLACE_NET_IAAS/external/g" \
-e "s/REPLACE_NET_TENANT/external/g" \
$COMPASS_DIR/deploy/template/vm/host.xml\
> $vm_dir/libvirt.xml
diff --git a/deploy/template/vm/host.xml b/deploy/template/vm/host.xml
index e6eca551..f65d4f0e 100644
--- a/deploy/template/vm/host.xml
+++ b/deploy/template/vm/host.xml
@@ -32,10 +32,15 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</interface>
<interface type='network'>
- <source network='REPLACE_NET_TENANT'/>
+ <source network='REPLACE_NET_IAAS'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</interface>
+ <interface type='network'>
+ <source network='REPLACE_NET_TENANT'/>
+ <model type='virtio'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
+ </interface>
<serial type='pty'>
<source path='/dev/pts/0'/>
</serial>