summaryrefslogtreecommitdiffstats
path: root/xci
diff options
context:
space:
mode:
authorFatih Degirmenci <fatih.degirmenci@ericsson.com>2017-08-19 00:13:29 +0200
committerFatih Degirmenci <fatih.degirmenci@ericsson.com>2017-08-23 16:57:54 +0200
commit01286f9cb829e4b36d36fe01855b3a35911fda11 (patch)
tree6a433cad7889df46d1e6aed08eba144dc2d755cc /xci
parent6222a366f223a4041125c08bb72b34d7527da5bc (diff)
xci: Bump OSA SHA to Pre-Pike
This change bumps osa sha to 4d39f2cc. [1] The reason for going to a later osa sha is to include ODL and Tacker commits in upstream to ease the work done for ODL and SFC scenarios. However, this osa sha seems to be having issues with the flavor ha so the users should be aware of the problems which is added into the readme as known issue and the flavor is disabled in xci-deploy.sh. Another reason to bump sha right now is that upstream changed a lot during last 2 months and waiting longer will probably result in more changes, making it harder to move to a later osa sha even harder. Other changes included by this change are - update ansible role requirements to move to shas pinned by upstream for pike. - add odl and tacker roles into ansible role requirements. - update how aio is deployed due to removal of an upstream script. (this could perhaps have been done in a better way but the time pressure required this to be fixed in the way as proposed.) - ensure facts are gathered for all the hosts and containers before running setup-infrastructure.yml playbook. - stop grepping for failed in the log of setup-hosts.yml playbook due to existence of rescue block in rabbitmq_cluster_create.yml [2]. - reduce the resource needs by updating the user_variables that are based on upstream osa gate which uses aio. The values for none-aio xci flavors will be adjusted in a separate change once the sha bump is complete. - fix a bug in ha-vars. [1] https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=4d39f2cc29417153780210fc0bb86223387e9968 [2] https://review.openstack.org/gitweb?p=openstack/openstack-ansible-rabbitmq_server.git;a=blob;f=tasks/rabbitmq_cluster_create.yml;h=4aaad5adafa42684c0d791b49539069fe1b45635;hb=HEAD#l24 Change-Id: Ia7fc495e315e4a41359641f8be4b3c8bbf7b61fa Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
Diffstat (limited to 'xci')
-rw-r--r--xci/README.rst5
-rwxr-xr-xxci/config/ha-vars2
-rwxr-xr-xxci/config/pinned-versions4
-rw-r--r--xci/file/aio/configure-opnfvhost.yml4
-rw-r--r--xci/file/ansible-role-requirements.yml96
-rw-r--r--xci/file/ha/user_variables.yml120
-rw-r--r--xci/file/mini/user_variables.yml120
-rw-r--r--xci/file/noha/user_variables.yml120
-rwxr-xr-xxci/xci-deploy.sh59
9 files changed, 459 insertions, 71 deletions
diff --git a/xci/README.rst b/xci/README.rst
index a6e34c85..b9909ed9 100644
--- a/xci/README.rst
+++ b/xci/README.rst
@@ -208,7 +208,10 @@ specified directories, and use them instead of cloning those on every run.
Limitations, Known Issues, and Improvements
===========================================
-The list can be seen using `this link <https://jira.opnfv.org/issues/?filter=11616>`_.
+Please note that the deployment of flavor ha is currently disabled due to an
+upstream issue. See `this link <https://jira.opnfv.org/browse/RELENG-301>`_.
+
+The complete list can be seen using `this link <https://jira.opnfv.org/issues/?filter=11616>`_.
=========
Changelog
diff --git a/xci/config/ha-vars b/xci/config/ha-vars
index b864c42e..33ec2446 100755
--- a/xci/config/ha-vars
+++ b/xci/config/ha-vars
@@ -13,6 +13,6 @@ export TEST_VM_NUM_NODES=6
export TEST_VM_NODE_NAMES="opnfv controller00 controller01 controller02 compute00 compute01"
export VM_DOMAIN_TYPE=${VM_DOMAIN_TYPE:-kvm}
export VM_CPU=${VM_CPU:-8}
-export VM_DISK=${VM_CPU:-80}
+export VM_DISK=${VM_DISK:-80}
export VM_MEMORY_SIZE=${VM_MEMORY_SIZE:-16384}
export VM_DISK_CACHE=unsafe
diff --git a/xci/config/pinned-versions b/xci/config/pinned-versions
index 121cb473..e1c110c6 100755
--- a/xci/config/pinned-versions
+++ b/xci/config/pinned-versions
@@ -23,5 +23,5 @@
export OPNFV_RELENG_VERSION="master"
# HEAD of bifrost "master" as of 29.06.2017
export OPENSTACK_BIFROST_VERSION=${OPENSTACK_BIFROST_VERSION:-"7c9bb5e07c6bc3b42c9a9e8457e5eef511075b38"}
-# HEAD of osa "master" as of 29.06.2017
-export OPENSTACK_OSA_VERSION=${OPENSTACK_OSA_VERSION:-"0648818c64239b534d00db381c4609f28e40bda9"}
+# HEAD of osa "master" as of 23.08.2017
+export OPENSTACK_OSA_VERSION=${OPENSTACK_OSA_VERSION:-"4d39f2cc29417153780210fc0bb86223387e9968"}
diff --git a/xci/file/aio/configure-opnfvhost.yml b/xci/file/aio/configure-opnfvhost.yml
index 5c66d40c..708ad618 100644
--- a/xci/file/aio/configure-opnfvhost.yml
+++ b/xci/file/aio/configure-opnfvhost.yml
@@ -16,7 +16,3 @@
command: "/bin/bash ./scripts/bootstrap-aio.sh"
args:
chdir: "{{OPENSTACK_OSA_PATH}}"
- - name: install OpenStack on opnfv host - this command doesn't log anything to console
- command: "/bin/bash ./scripts/run-playbooks.sh"
- args:
- chdir: "{{OPENSTACK_OSA_PATH}}"
diff --git a/xci/file/ansible-role-requirements.yml b/xci/file/ansible-role-requirements.yml
index 57e0bb8f..efca0fbf 100644
--- a/xci/file/ansible-role-requirements.yml
+++ b/xci/file/ansible-role-requirements.yml
@@ -7,36 +7,36 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-# these versions are extracted based on the osa commit 0648818c64239b534d00db381c4609f28e40bda9 on 2017-06-27T22:02:17+00:00
-# https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=0648818c64239b534d00db381c4609f28e40bda9
+# these versions are based on the osa commit 9c64c2d8bf91a65ca716c1098dc4867eb1cc983a on 2017-08-17
+# https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=9c64c2d8bf91a65ca716c1098dc4867eb1cc983a
- name: ansible-hardening
scm: git
src: https://git.openstack.org/openstack/ansible-hardening
- version: f422da8599c6d8f64ebfefbf0a0aa711ea1f9569
+ version: 20b6d668e88dfb23a57c45330964ec2ac1ae00eb
- name: apt_package_pinning
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-apt_package_pinning
- version: 4afe664efb5a2385a1d7071f68bc9001f16c0f41
+ version: 5d507c11aaddf7a20d36071307a1a49871b9e82f
- name: pip_install
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-pip_install
- version: 348995b85f91f796b28656459474fb3935be737c
+ version: a4209580d9f02651ba9f94ae1a30eb1c087cdd90
- name: galera_client
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-galera_client
- version: 2055ebf1582a15c2b2a73985485be15884c9b2d3
+ version: 68ab663a6e8394e13fabb5102361ab1f4e8d6ff5
- name: galera_server
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-galera_server
- version: 78a1259a10a5be95ab7d6ba3e8f2961805ae3a5b
+ version: 5af8a3db86723b889c0b68c809bf321067e4272f
- name: ceph_client
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-ceph_client
- version: aa3b0d959464f9362aaf29d6cf6225e1d4e302be
+ version: d4703c606f92be9e71c33728f785cbd76eb76779
- name: haproxy_server
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-haproxy_server
- version: f8bc5c6129c0d50ac3355c82560fbf22ee32479b
+ version: baf9a2b8a9edac2412582dcbaa57d38f7875e0cf
- name: keepalived
scm: git
src: https://github.com/evrardjp/ansible-keepalived
@@ -44,119 +44,119 @@
- name: lxc_container_create
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-lxc_container_create
- version: 1eab03452885f0a34cb78f54e3bcf5824abc012e
+ version: b5a3d5cd46319017a901245a40172dfa5edca3b6
- name: lxc_hosts
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-lxc_hosts
- version: f0b8782c03dde4dd65e70d8b03afc26a30c74f37
+ version: 34c018a879175bd521692cc618b53d85368ba8f3
- name: memcached_server
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-memcached_server
- version: 6924e7d44d6e36cbe45507e43ef82af6ac0ae125
+ version: f55f307156a1493fb71a372125b273664ddf08f9
- name: openstack_hosts
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-openstack_hosts
- version: d68b1dd8fc5ef18c78172d4e9fa3ca01d7473dcf
+ version: 0e3a6faa13bcfad5e56013da82fa3f7650778dee
- name: os_keystone
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_keystone
- version: 0cafcc150da10a01ee0b4543167fdc88b9b91a85
+ version: b1ab60a3504fe2f81e9635e496b1f5963a0e587c
- name: openstack_openrc
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-openstack_openrc
- version: 18b7f31a19c4c9bc95abc07a83c9ba866eff538d
+ version: e313c5a138c2b05637330c8d9385b03df4ac920a
- name: os_aodh
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_aodh
- version: 5bebd5a18aa7469803f26fb41df62495730afde3
+ version: 597fe05c539f535c8d73ebb71a6e35996decd685
- name: os_barbican
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_barbican
- version: fc95936f9375c3e9eab708b356e760e3eeb785d7
+ version: 8900c7f6e463afd07737ad9f54b57927fdc9922a
- name: os_ceilometer
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_ceilometer
- version: daf94c5d1a009abb111b5ff7dea8b4f50473b227
+ version: f2653a64f8a598a8e555a7b36f006cf4967082ec
- name: os_cinder
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_cinder
- version: d0c46f29d7bb02139a14ad46869ce411e80874d9
+ version: 0d0527e8f8d490c65b74981247f6df6f9b7770e7
- name: os_glance
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_glance
- version: a1e3588769e6d17b074398f0ef2675f34438b73b
+ version: 01cbd0805dc12bbc5e999e398f67dcb4b9b5e44d
- name: os_gnocchi
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_gnocchi
- version: f79b0f6e1db40b59390b7e40a90792e72afe55e6
+ version: 986b6d862f8c4330859a2f88f201703991e47466
- name: os_heat
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_heat
- version: 7a5b703b35f36a5a63ce9934ef585c8967e9de5a
+ version: ccb8cb6f8d35c955996bb596e059e7d2d829e926
- name: os_horizon
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_horizon
- version: cb4a27da79ad67b2826f637927514e0829c23c0f
+ version: 05781db933ddcfd58503df09656c1c3822fa3543
- name: os_ironic
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_ironic
- version: e5c24e40b0d08d8bc7b4641679a8731c2b2aca29
+ version: c4506a6aac72b6705377988548394d5ba7af1f13
- name: os_magnum
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_magnum
- version: 3eeb33db25db48f04e496a3ee47323fffe2af864
+ version: f18df2927ce786847d93e75f6580bcde28c1073f
- name: os_trove
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_trove
- version: 0cf74c1a917b07e557411ca1c1376491c97aa0a9
+ version: 2d343e8bcfcddf7d8f522d238aff75101e7ec573
- name: os_neutron
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_neutron
- version: 280788b20099532c13042966defcbcbf5d5dd994
+ version: 2e8c1271551273d736c315dad4d8de020ffea723
- name: os_nova
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_nova
- version: 031b386bdd29f895203a3d053c1dabba66cfeeb0
+ version: 7f57d8110b9f6b5fede9e777b415e6ed082a4d06
- name: os_rally
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_rally
- version: 9125458265088eb8622f28df57f640509546a6d4
+ version: 67a3b84c99b2a4152302f6ca867f00ae96bb5048
- name: os_sahara
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_sahara
- version: 433d624b0ddb0d2778f014a175064572e15ea462
+ version: 55f437b447d8d55c357f4b80b03d813063088a55
- name: os_swift
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_swift
- version: 3b91c62e1de6e0d852476e3b74e39b7a55d77ec9
+ version: 4bd2bea7ece859d63d3f1ec2715ae4ea64ecded3
- name: os_tempest
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_tempest
- version: 692209da1fdab6014e13e65be27ffb9b8c8578bb
+ version: cf3e435185b330eda79bc5d18207bdf601163cb2
- name: plugins
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-plugins
- version: 8685a0ba38b7f534dd4db971da6d54b495c79169
+ version: 5daef9244567c41f0faa02ac14a4666163b36323
- name: rabbitmq_server
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-rabbitmq_server
- version: 50bffbf8f114c8100ec5e86ebac9baba5c4f233d
+ version: 9edd9e72d60cbcb2151a11700496667b07552b0d
- name: repo_build
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-repo_build
- version: 9ce713e9762650e1041ba7d9ad3c207a0c65d0c4
+ version: 18b165c5dcebd7b1691fc00d76d097d002111fe4
- name: repo_server
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-repo_server
- version: 275124b643d6e6a9c92d65be7a7f309fe6f0c6dc
+ version: 1014cdc40731ff32bf423f0a9ea1bb702a4d7224
- name: rsyslog_client
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-rsyslog_client
- version: da0090d48b166e0ffe83c35483572e358a29d523
+ version: 3af4a3e7a953558ad60c57da87e483436f2c18e8
- name: rsyslog_server
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-rsyslog_server
- version: 0f4b5ac0e7a170bd9811875965b781d447a5517a
+ version: b797bcb8b7fc875025dd6240d3c3fb9b7383b1c4
- name: sshd
scm: git
src: https://github.com/willshersystems/ansible-sshd
@@ -164,7 +164,7 @@
- name: bird
scm: git
src: https://github.com/logan2211/ansible-bird
- version: '1.2'
+ version: '1.3'
- name: etcd
scm: git
src: https://github.com/logan2211/ansible-etcd
@@ -172,15 +172,15 @@
- name: unbound
scm: git
src: https://github.com/logan2211/ansible-unbound
- version: '1.4'
+ version: '1.5'
- name: resolvconf
scm: git
src: https://github.com/logan2211/ansible-resolvconf
- version: '1.2'
+ version: '1.3'
- name: os_designate
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_designate
- version: cc9760d0a08083c1168999422ccefa0d56ead093
+ version: 8b83e3d10258f51eae41c01c811f2070a87b1b31
- name: ceph.ceph-common
scm: git
src: https://github.com/ceph/ansible-ceph-common
@@ -200,8 +200,16 @@
- name: os_octavia
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_octavia
- version: 48ff9a634a3ea34c6811ebc10057708dc23ed76e
+ version: 205fcc83a64f49eb2eb29f24c39b619743021624
- name: os_molteniron
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_molteniron
- version: 0de6fe5251b54881ab3eb8bf0a8d694dd4362430
+ version: da5034d9c3bd93ed6effed587cc89c4204750de2
+- name: opendaylight
+ scm: git
+ src: https://git.opendaylight.org/gerrit/p/integration/packaging/ansible-opendaylight.git
+ version: 7dffecc77186428100b6655d19cb3a168c771d3d
+- name: os_tacker
+ scm: git
+ src: git://git.openstack.org/openstack/openstack-ansible-os_tacker
+ version: 58855a0e63179ee5603035a8f607a39a4b99c2a6
diff --git a/xci/file/ha/user_variables.yml b/xci/file/ha/user_variables.yml
index 094cc8cd..58ba5679 100644
--- a/xci/file/ha/user_variables.yml
+++ b/xci/file/ha/user_variables.yml
@@ -26,3 +26,123 @@ haproxy_keepalived_internal_vip_cidr: "172.29.236.222/32"
haproxy_keepalived_external_interface: br-vlan
haproxy_keepalived_internal_interface: br-mgmt
gnocchi_db_sync_options: ""
+
+# The settings below are taken from aio to ensure we can bump OSA SHA with current
+# RAM allocation. Higher values will be tested once the bump is done.
+# https://github.com/openstack/openstack-ansible/blob/master/tests/roles/bootstrap-host/templates/user_variables.aio.yml.j2
+
+## Galera settings
+galera_innodb_buffer_pool_size: 16M
+galera_innodb_log_buffer_size: 4M
+galera_wsrep_provider_options:
+ - { option: "gcache.size", value: "4M" }
+
+## Neutron settings
+neutron_metadata_checksum_fix: True
+
+### Set workers for all services to optimise memory usage
+
+## Repo
+repo_nginx_threads: 2
+
+## Keystone
+keystone_httpd_mpm_start_servers: 2
+keystone_httpd_mpm_min_spare_threads: 1
+keystone_httpd_mpm_max_spare_threads: 2
+keystone_httpd_mpm_thread_limit: 2
+keystone_httpd_mpm_thread_child: 1
+keystone_wsgi_threads: 1
+keystone_wsgi_processes_max: 2
+
+## Barbican
+barbican_wsgi_processes: 2
+barbican_wsgi_threads: 1
+
+## Cinder
+cinder_wsgi_processes_max: 2
+cinder_wsgi_threads: 1
+cinder_wsgi_buffer_size: 16384
+cinder_osapi_volume_workers_max: 2
+
+## Glance
+glance_api_threads_max: 2
+glance_api_threads: 1
+glance_api_workers: 1
+glance_registry_workers: 1
+
+## Nova
+nova_wsgi_threads: 1
+nova_wsgi_processes_max: 2
+nova_wsgi_processes: 2
+nova_wsgi_buffer_size: 16384
+nova_api_threads_max: 2
+nova_api_threads: 1
+nova_osapi_compute_workers: 1
+nova_conductor_workers: 1
+nova_metadata_workers: 1
+
+## Neutron
+neutron_rpc_workers: 1
+neutron_metadata_workers: 1
+neutron_api_workers: 1
+neutron_api_threads_max: 2
+neutron_api_threads: 2
+neutron_num_sync_threads: 1
+
+## Heat
+heat_api_workers: 1
+heat_api_threads_max: 2
+heat_api_threads: 1
+heat_wsgi_threads: 1
+heat_wsgi_processes_max: 2
+heat_wsgi_processes: 1
+heat_wsgi_buffer_size: 16384
+
+## Horizon
+horizon_wsgi_processes: 1
+horizon_wsgi_threads: 1
+horizon_wsgi_threads_max: 2
+
+## Ceilometer
+ceilometer_notification_workers_max: 2
+ceilometer_notification_workers: 1
+
+## AODH
+aodh_wsgi_threads: 1
+aodh_wsgi_processes_max: 2
+aodh_wsgi_processes: 1
+
+## Gnocchi
+gnocchi_wsgi_threads: 1
+gnocchi_wsgi_processes_max: 2
+gnocchi_wsgi_processes: 1
+
+## Swift
+swift_account_server_replicator_workers: 1
+swift_server_replicator_workers: 1
+swift_object_replicator_workers: 1
+swift_account_server_workers: 1
+swift_container_server_workers: 1
+swift_object_server_workers: 1
+swift_proxy_server_workers_max: 2
+swift_proxy_server_workers_not_capped: 1
+swift_proxy_server_workers_capped: 1
+swift_proxy_server_workers: 1
+
+## Ironic
+ironic_wsgi_threads: 1
+ironic_wsgi_processes_max: 2
+ironic_wsgi_processes: 1
+
+## Trove
+trove_api_workers_max: 2
+trove_api_workers: 1
+trove_conductor_workers_max: 2
+trove_conductor_workers: 1
+trove_wsgi_threads: 1
+trove_wsgi_processes_max: 2
+trove_wsgi_processes: 1
+
+## Sahara
+sahara_api_workers_max: 2
+sahara_api_workers: 1
diff --git a/xci/file/mini/user_variables.yml b/xci/file/mini/user_variables.yml
index 7a0b8064..fa8a38f3 100644
--- a/xci/file/mini/user_variables.yml
+++ b/xci/file/mini/user_variables.yml
@@ -26,3 +26,123 @@ haproxy_keepalived_internal_vip_cidr: "172.29.236.11/32"
haproxy_keepalived_external_interface: br-vlan
haproxy_keepalived_internal_interface: br-mgmt
gnocchi_db_sync_options: ""
+
+# The settings below are taken from aio since this flavor is mostly
+# for short CI loops and users with lower requirements.
+# https://github.com/openstack/openstack-ansible/blob/master/tests/roles/bootstrap-host/templates/user_variables.aio.yml.j2
+
+## Galera settings
+galera_innodb_buffer_pool_size: 16M
+galera_innodb_log_buffer_size: 4M
+galera_wsrep_provider_options:
+ - { option: "gcache.size", value: "4M" }
+
+## Neutron settings
+neutron_metadata_checksum_fix: True
+
+### Set workers for all services to optimise memory usage
+
+## Repo
+repo_nginx_threads: 2
+
+## Keystone
+keystone_httpd_mpm_start_servers: 2
+keystone_httpd_mpm_min_spare_threads: 1
+keystone_httpd_mpm_max_spare_threads: 2
+keystone_httpd_mpm_thread_limit: 2
+keystone_httpd_mpm_thread_child: 1
+keystone_wsgi_threads: 1
+keystone_wsgi_processes_max: 2
+
+## Barbican
+barbican_wsgi_processes: 2
+barbican_wsgi_threads: 1
+
+## Cinder
+cinder_wsgi_processes_max: 2
+cinder_wsgi_threads: 1
+cinder_wsgi_buffer_size: 16384
+cinder_osapi_volume_workers_max: 2
+
+## Glance
+glance_api_threads_max: 2
+glance_api_threads: 1
+glance_api_workers: 1
+glance_registry_workers: 1
+
+## Nova
+nova_wsgi_threads: 1
+nova_wsgi_processes_max: 2
+nova_wsgi_processes: 2
+nova_wsgi_buffer_size: 16384
+nova_api_threads_max: 2
+nova_api_threads: 1
+nova_osapi_compute_workers: 1
+nova_conductor_workers: 1
+nova_metadata_workers: 1
+
+## Neutron
+neutron_rpc_workers: 1
+neutron_metadata_workers: 1
+neutron_api_workers: 1
+neutron_api_threads_max: 2
+neutron_api_threads: 2
+neutron_num_sync_threads: 1
+
+## Heat
+heat_api_workers: 1
+heat_api_threads_max: 2
+heat_api_threads: 1
+heat_wsgi_threads: 1
+heat_wsgi_processes_max: 2
+heat_wsgi_processes: 1
+heat_wsgi_buffer_size: 16384
+
+## Horizon
+horizon_wsgi_processes: 1
+horizon_wsgi_threads: 1
+horizon_wsgi_threads_max: 2
+
+## Ceilometer
+ceilometer_notification_workers_max: 2
+ceilometer_notification_workers: 1
+
+## AODH
+aodh_wsgi_threads: 1
+aodh_wsgi_processes_max: 2
+aodh_wsgi_processes: 1
+
+## Gnocchi
+gnocchi_wsgi_threads: 1
+gnocchi_wsgi_processes_max: 2
+gnocchi_wsgi_processes: 1
+
+## Swift
+swift_account_server_replicator_workers: 1
+swift_server_replicator_workers: 1
+swift_object_replicator_workers: 1
+swift_account_server_workers: 1
+swift_container_server_workers: 1
+swift_object_server_workers: 1
+swift_proxy_server_workers_max: 2
+swift_proxy_server_workers_not_capped: 1
+swift_proxy_server_workers_capped: 1
+swift_proxy_server_workers: 1
+
+## Ironic
+ironic_wsgi_threads: 1
+ironic_wsgi_processes_max: 2
+ironic_wsgi_processes: 1
+
+## Trove
+trove_api_workers_max: 2
+trove_api_workers: 1
+trove_conductor_workers_max: 2
+trove_conductor_workers: 1
+trove_wsgi_threads: 1
+trove_wsgi_processes_max: 2
+trove_wsgi_processes: 1
+
+## Sahara
+sahara_api_workers_max: 2
+sahara_api_workers: 1
diff --git a/xci/file/noha/user_variables.yml b/xci/file/noha/user_variables.yml
index 7a0b8064..bdb2df09 100644
--- a/xci/file/noha/user_variables.yml
+++ b/xci/file/noha/user_variables.yml
@@ -26,3 +26,123 @@ haproxy_keepalived_internal_vip_cidr: "172.29.236.11/32"
haproxy_keepalived_external_interface: br-vlan
haproxy_keepalived_internal_interface: br-mgmt
gnocchi_db_sync_options: ""
+
+# The settings below are taken from aio to ensure we can bump OSA SHA with current
+# RAM allocation. Higher values will be tested once the bump is done.
+# https://github.com/openstack/openstack-ansible/blob/master/tests/roles/bootstrap-host/templates/user_variables.aio.yml.j2
+
+## Galera settings
+galera_innodb_buffer_pool_size: 16M
+galera_innodb_log_buffer_size: 4M
+galera_wsrep_provider_options:
+ - { option: "gcache.size", value: "4M" }
+
+## Neutron settings
+neutron_metadata_checksum_fix: True
+
+### Set workers for all services to optimise memory usage
+
+## Repo
+repo_nginx_threads: 2
+
+## Keystone
+keystone_httpd_mpm_start_servers: 2
+keystone_httpd_mpm_min_spare_threads: 1
+keystone_httpd_mpm_max_spare_threads: 2
+keystone_httpd_mpm_thread_limit: 2
+keystone_httpd_mpm_thread_child: 1
+keystone_wsgi_threads: 1
+keystone_wsgi_processes_max: 2
+
+## Barbican
+barbican_wsgi_processes: 2
+barbican_wsgi_threads: 1
+
+## Cinder
+cinder_wsgi_processes_max: 2
+cinder_wsgi_threads: 1
+cinder_wsgi_buffer_size: 16384
+cinder_osapi_volume_workers_max: 2
+
+## Glance
+glance_api_threads_max: 2
+glance_api_threads: 1
+glance_api_workers: 1
+glance_registry_workers: 1
+
+## Nova
+nova_wsgi_threads: 1
+nova_wsgi_processes_max: 2
+nova_wsgi_processes: 2
+nova_wsgi_buffer_size: 16384
+nova_api_threads_max: 2
+nova_api_threads: 1
+nova_osapi_compute_workers: 1
+nova_conductor_workers: 1
+nova_metadata_workers: 1
+
+## Neutron
+neutron_rpc_workers: 1
+neutron_metadata_workers: 1
+neutron_api_workers: 1
+neutron_api_threads_max: 2
+neutron_api_threads: 2
+neutron_num_sync_threads: 1
+
+## Heat
+heat_api_workers: 1
+heat_api_threads_max: 2
+heat_api_threads: 1
+heat_wsgi_threads: 1
+heat_wsgi_processes_max: 2
+heat_wsgi_processes: 1
+heat_wsgi_buffer_size: 16384
+
+## Horizon
+horizon_wsgi_processes: 1
+horizon_wsgi_threads: 1
+horizon_wsgi_threads_max: 2
+
+## Ceilometer
+ceilometer_notification_workers_max: 2
+ceilometer_notification_workers: 1
+
+## AODH
+aodh_wsgi_threads: 1
+aodh_wsgi_processes_max: 2
+aodh_wsgi_processes: 1
+
+## Gnocchi
+gnocchi_wsgi_threads: 1
+gnocchi_wsgi_processes_max: 2
+gnocchi_wsgi_processes: 1
+
+## Swift
+swift_account_server_replicator_workers: 1
+swift_server_replicator_workers: 1
+swift_object_replicator_workers: 1
+swift_account_server_workers: 1
+swift_container_server_workers: 1
+swift_object_server_workers: 1
+swift_proxy_server_workers_max: 2
+swift_proxy_server_workers_not_capped: 1
+swift_proxy_server_workers_capped: 1
+swift_proxy_server_workers: 1
+
+## Ironic
+ironic_wsgi_threads: 1
+ironic_wsgi_processes_max: 2
+ironic_wsgi_processes: 1
+
+## Trove
+trove_api_workers_max: 2
+trove_api_workers: 1
+trove_conductor_workers_max: 2
+trove_conductor_workers: 1
+trove_wsgi_threads: 1
+trove_wsgi_processes_max: 2
+trove_wsgi_processes: 1
+
+## Sahara
+sahara_api_workers_max: 2
+sahara_api_workers: 1
diff --git a/xci/xci-deploy.sh b/xci/xci-deploy.sh
index 40dd08ba..fc3f63b5 100755
--- a/xci/xci-deploy.sh
+++ b/xci/xci-deploy.sh
@@ -72,6 +72,16 @@ if [[ $OS_FAMILY != Debian ]]; then
exit 1
fi
+# TODO: Get rid of this!!!
+# Flavor HA fails to deploy and currently disabled.
+if [[ $XCI_FLAVOR == ha ]]; then
+ echo ""
+ echo "Error: Sorry, the flavor ha is not currently supported due to an upstream issue!"
+ echo "Info : Available flavors are aio, mini, and ha"
+ echo ""
+ exit 1
+fi
+
# TODO: The xci playbooks can be put into a playbook which will be done later.
#-------------------------------------------------------------------------------
@@ -128,27 +138,24 @@ echo "-----------------------------------------------------------------------"
echo "Info: Configured opnfv deployment host for openstack-ansible"
#-------------------------------------------------------------------------------
-# Skip the rest if the flavor is aio since the target host for aio is opnfv
-#-------------------------------------------------------------------------------
-if [[ $XCI_FLAVOR == "aio" ]]; then
- echo "xci: aio has been installed"
- exit 0
-fi
-
-#-------------------------------------------------------------------------------
# Configure target hosts for openstack-ansible
#-------------------------------------------------------------------------------
+# This playbook is only run for the all flavors except aio since aio is configured
+# by an upstream script.
+
# This playbook
# - adds public keys to target hosts
# - configures network
# - configures nfs
#-------------------------------------------------------------------------------
-echo "Info: Configuring target hosts for openstack-ansible"
-echo "-----------------------------------------------------------------------"
-cd $OPNFV_XCI_PATH/playbooks
-ansible-playbook $ANSIBLE_VERBOSITY -i inventory configure-targethosts.yml
-echo "-----------------------------------------------------------------------"
-echo "Info: Configured target hosts"
+if [[ $XCI_FLAVOR != "aio" ]]; then
+ echo "Info: Configuring target hosts for openstack-ansible"
+ echo "-----------------------------------------------------------------------"
+ cd $OPNFV_XCI_PATH/playbooks
+ ansible-playbook $ANSIBLE_VERBOSITY -i inventory configure-targethosts.yml
+ echo "-----------------------------------------------------------------------"
+ echo "Info: Configured target hosts"
+fi
#-------------------------------------------------------------------------------
# Set up target hosts for openstack-ansible
@@ -161,13 +168,27 @@ ssh root@$OPNFV_HOST_IP "openstack-ansible \
$OPENSTACK_OSA_PATH/playbooks/setup-hosts.yml" | \
tee $LOG_PATH/setup-hosts.log
echo "-----------------------------------------------------------------------"
-# check the log to see if we have any error
-if grep -q 'failed=1\|unreachable=1' $LOG_PATH/setup-hosts.log; then
- echo "Error: OpenStack node setup failed!"
- exit 1
-fi
echo "Info: Set up target hosts for openstack-ansible successfuly"
+# TODO: Check this with the upstream and issue a fix in the documentation if the
+# problem is valid.
+#-------------------------------------------------------------------------------
+# Gather facts for all the hosts and containers
+#-------------------------------------------------------------------------------
+# This is needed in order to gather the facts for containers due to a change in
+# upstream that changed the hosts fact are gathered which causes failures during
+# running setup-infrastructure.yml playbook due to lack of the facts for lxc
+# containers.
+#
+# OSA gate also executes this command. See the link
+# http://logs.openstack.org/64/494664/1/check/gate-openstack-ansible-openstack-ansible-aio-ubuntu-xenial/2a0700e/console.html
+#-------------------------------------------------------------------------------
+echo "Info: Gathering facts"
+echo "-----------------------------------------------------------------------"
+ssh root@$OPNFV_HOST_IP "cd $OPENSTACK_OSA_PATH/playbooks; \
+ ansible -m setup -a gather_subset=network,hardware,virtual all"
+echo "-----------------------------------------------------------------------"
+
#-------------------------------------------------------------------------------
# Set up infrastructure
#-------------------------------------------------------------------------------