2016-10-14 05:24:58 +00:00
|
|
|
TACKER_MODE=${TACKER_MODE:-all}
|
2020-10-13 18:03:06 +00:00
|
|
|
USE_BARBICAN=True
|
2017-09-30 01:17:39 +09:00
|
|
|
KUBERNETES_VIM=${KUBERNETES_VIM:-False}
|
2021-01-14 10:02:09 +09:00
|
|
|
IS_ZUUL_FT=${IS_ZUUL_FT:-False}
|
2017-06-07 03:03:02 -07:00
|
|
|
|
2021-07-29 03:05:17 +00:00
|
|
|
# Install the latest heat-translator and tosca-parser from git repos.
|
2021-04-21 17:14:22 +09:00
|
|
|
GITREPO["heat-translator"]=${HEAT_TRANSLATOR_REPO:-${GIT_BASE}/openstack/heat-translator.git}
|
|
|
|
|
GITBRANCH["heat-translator"]=${HEAT_TRANSLATOR_BRANCH:-$TARGET_BRANCH}
|
|
|
|
|
GITDIR["heat-translator"]=$DEST/heat-translator
|
|
|
|
|
|
|
|
|
|
GITREPO["tosca-parser"]=${TOSCA_PARSER_REPO:-${GIT_BASE}/openstack/tosca-parser.git}
|
|
|
|
|
GITBRANCH["tosca-parser"]=${TOSCA_PARSER_BRANCH:-$TARGET_BRANCH}
|
|
|
|
|
GITDIR["tosca-parser"]=$DEST/tosca-parser
|
|
|
|
|
|
2021-07-29 03:05:17 +00:00
|
|
|
LIBS_FROM_GIT+=heat-translator
|
|
|
|
|
LIBS_FROM_GIT+=tosca-parser
|
|
|
|
|
|
2021-01-14 10:02:09 +09:00
|
|
|
if [ "${TACKER_MODE}" == "all" -o "${IS_ZUUL_FT}" == "True" ]; then
|
2016-10-14 05:24:58 +00:00
|
|
|
MGMT_PHYS_NET=${MGMT_PHYS_NET:-mgmtphysnet0}
|
2018-06-26 20:38:07 +02:00
|
|
|
# br-infra is created by devstack multi node job
|
2019-04-23 19:40:04 +08:00
|
|
|
# https://opendev.org/zuul/zuul-jobs/src/branch/master/roles/multi-node-bridge
|
2018-06-26 20:38:07 +02:00
|
|
|
BR_MGMT=${BR_MGMT:-br-infra}
|
2016-10-14 05:24:58 +00:00
|
|
|
NET_MGMT=${NET_MGMT:-net_mgmt}
|
|
|
|
|
SUBNET_MGMT=${SUBNET_MGMT:-subnet_mgmt}
|
|
|
|
|
FIXED_RANGE_MGMT=${FIXED_RANGE_MGMT:-192.168.120.0/24}
|
|
|
|
|
NETWORK_GATEWAY_MGMT=${NETWORK_GATEWAY_MGMT:-192.168.120.1}
|
|
|
|
|
NETWORK_GATEWAY_MGMT_IP=${NETWORK_GATEWAY_MGMT_IP:-192.168.120.1/24}
|
2016-07-08 05:08:53 +05:30
|
|
|
|
2016-10-14 05:24:58 +00:00
|
|
|
NET0=${NET0:-net0}
|
|
|
|
|
SUBNET0=${SUBNET0:-subnet0}
|
|
|
|
|
FIXED_RANGE0=${FIXED_RANGE0:-10.10.0.0/24}
|
|
|
|
|
NETWORK_GATEWAY0=${NETWORK_GATEWAY0:-10.10.0.1}
|
2016-07-08 05:08:53 +05:30
|
|
|
|
2016-10-14 05:24:58 +00:00
|
|
|
NET1=${NET1:-net1}
|
|
|
|
|
SUBNET1=${SUBNET1:-subnet1}
|
|
|
|
|
FIXED_RANGE1=${FIXED_RANGE1:-10.10.1.0/24}
|
|
|
|
|
NETWORK_GATEWAY1=${NETWORK_GATEWAY1:-10.10.1.1}
|
Add a seperate controller subnode to subdivide the memory load
The number of required plugins has increased to the extent that
controller on Zuul FT infrastructure almost runs out of memory [1].
This potentially induces various problems such as FT failure noises
or POST_FAILURE at the ansible task 'export-devstack-journal'.
To request expanded images such as ubuntu-focal-expanded (16GB) or
ubuntu-focal-32GB would be an option, but it turns out that would
lead us to another problematic situation. [2]
This patch, instead, addresses the issue by subdividing the memory
load. As a first step, introduce a new subnode 'tacker-controller',
on which both tacker-server and tacker-conductor are located.
Note:
* when we re-locate some other components to this new subnode, it might
better to rename it.
* `devstack_local_conf: {}` in .zuul.yaml is to cancel out the global
job.vars devstack_local_conf.post-config.$NEUTRON_DHCP_CONF, which
is not present on 'tacker-controller' in the first place.
* TACKER_MODE is set to 'standalone'. 'all-in-one' supposes core
services like nova, neutron, keystone, etc. api servers are located
on the same host as tacker-server.
* in devstack/lib/tacker:create_tacker_accounts, SERVICE_HOST should
have been TACKER_HOST. this minor fix is included.
* in roles/setup-default-vim/tasks/main.yaml, the same where conditions
were scattered but all tasks in it just needed to run on 'controller'
only. so let us wrap them all in a block.
* renamed devstack/plugin.sh:tacker_register_default_vim for clarity.
* policy file modification for Heat is now done by an ansible task.
it frees us from the co-location requirements for Tacker and Heat.
* drop devstack/lib/tacker:is_tacker_enabled as it's no longer needed.
[1]: we investigated how severe the memory load on 'controller' was
on Zuul FT infrastructure:
* The highest memory-consuming processes in desc order:
808.70MB (9.87%) 828112 /usr/sbin/mysqld
179.81MB (2.19%) 184124 ... /usr/local/bin/tacker-server ...
152.57MB (1.86%) 156232 ... /usr/local/bin/tacker-conductor .
146.67MB (1.79%) 150188 ... /usr/local/bin/neutron-server ...
132.96MB (1.62%) 136148 ... /usr/local/bin/neutron-server ...
129.08MB (1.58%) 132180 ... /usr/local/bin/heat-engine ...
127.48MB (1.56%) 130544 ... /usr/local/bin/heat-engine ...
122.16MB (1.49%) 125092 nova-apiuWSGI worker 1
121.00MB (1.48%) 123900 neutron-openvswitch-agent ...
119.50MB (1.46%) 122368 cinder-apiuWSGI worker 1
---(snip)---
* `free -m` output
total used free shared buff/cache available
Mem: 7955 7427 196 16 331 219
Swap: 1022 1019 3
[2]: http://eavesdrop.openstack.org/irclogs/%23openstack-infra/
%23openstack-infra.2020-11-25.log.html
Change-Id: I030ffd5fd11b7ca9abca56e85e449ed4c4d709bd
2020-11-26 11:14:06 +09:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "${TACKER_MODE}" == "all" ]; then
|
|
|
|
|
# Nova
|
|
|
|
|
disable_service n-net
|
|
|
|
|
VIRT_DRIVER=libvirt
|
|
|
|
|
|
|
|
|
|
enable_service q-svc
|
|
|
|
|
enable_service neutron
|
|
|
|
|
|
|
|
|
|
enable_service tacker
|
|
|
|
|
# enable tacker-conductor will make systemctl enable conductor service
|
|
|
|
|
enable_service tacker-conductor
|
2017-09-30 01:17:39 +09:00
|
|
|
|
|
|
|
|
if [ "${KUBERNETES_VIM}" == "True" ]; then
|
2024-12-16 08:36:09 +00:00
|
|
|
# enable devstack-plugin-container services
|
|
|
|
|
DEVSTACK_PLUGIN_CONTAINER_AGENTS=${DEVSTACK_PLUGIN_CONTAINER_AGENTS:-k8s-master,container}
|
|
|
|
|
for i in $(echo $DEVSTACK_PLUGIN_CONTAINER_AGENTS | sed 's/,/ /g')
|
2019-01-23 00:40:45 +09:00
|
|
|
do
|
|
|
|
|
enable_service $i
|
|
|
|
|
done
|
2017-09-30 01:17:39 +09:00
|
|
|
fi
|
2016-10-14 05:24:58 +00:00
|
|
|
elif [ "${TACKER_MODE}" == "standalone" ]; then
|
Add a seperate controller subnode to subdivide the memory load
The number of required plugins has increased to the extent that
controller on Zuul FT infrastructure almost runs out of memory [1].
This potentially induces various problems such as FT failure noises
or POST_FAILURE at the ansible task 'export-devstack-journal'.
To request expanded images such as ubuntu-focal-expanded (16GB) or
ubuntu-focal-32GB would be an option, but it turns out that would
lead us to another problematic situation. [2]
This patch, instead, addresses the issue by subdividing the memory
load. As a first step, introduce a new subnode 'tacker-controller',
on which both tacker-server and tacker-conductor are located.
Note:
* when we re-locate some other components to this new subnode, it might
better to rename it.
* `devstack_local_conf: {}` in .zuul.yaml is to cancel out the global
job.vars devstack_local_conf.post-config.$NEUTRON_DHCP_CONF, which
is not present on 'tacker-controller' in the first place.
* TACKER_MODE is set to 'standalone'. 'all-in-one' supposes core
services like nova, neutron, keystone, etc. api servers are located
on the same host as tacker-server.
* in devstack/lib/tacker:create_tacker_accounts, SERVICE_HOST should
have been TACKER_HOST. this minor fix is included.
* in roles/setup-default-vim/tasks/main.yaml, the same where conditions
were scattered but all tasks in it just needed to run on 'controller'
only. so let us wrap them all in a block.
* renamed devstack/plugin.sh:tacker_register_default_vim for clarity.
* policy file modification for Heat is now done by an ansible task.
it frees us from the co-location requirements for Tacker and Heat.
* drop devstack/lib/tacker:is_tacker_enabled as it's no longer needed.
[1]: we investigated how severe the memory load on 'controller' was
on Zuul FT infrastructure:
* The highest memory-consuming processes in desc order:
808.70MB (9.87%) 828112 /usr/sbin/mysqld
179.81MB (2.19%) 184124 ... /usr/local/bin/tacker-server ...
152.57MB (1.86%) 156232 ... /usr/local/bin/tacker-conductor .
146.67MB (1.79%) 150188 ... /usr/local/bin/neutron-server ...
132.96MB (1.62%) 136148 ... /usr/local/bin/neutron-server ...
129.08MB (1.58%) 132180 ... /usr/local/bin/heat-engine ...
127.48MB (1.56%) 130544 ... /usr/local/bin/heat-engine ...
122.16MB (1.49%) 125092 nova-apiuWSGI worker 1
121.00MB (1.48%) 123900 neutron-openvswitch-agent ...
119.50MB (1.46%) 122368 cinder-apiuWSGI worker 1
---(snip)---
* `free -m` output
total used free shared buff/cache available
Mem: 7955 7427 196 16 331 219
Swap: 1022 1019 3
[2]: http://eavesdrop.openstack.org/irclogs/%23openstack-infra/
%23openstack-infra.2020-11-25.log.html
Change-Id: I030ffd5fd11b7ca9abca56e85e449ed4c4d709bd
2020-11-26 11:14:06 +09:00
|
|
|
enable_service dstat
|
|
|
|
|
enable_service tacker
|
|
|
|
|
enable_service tacker-conductor
|
2016-10-14 05:24:58 +00:00
|
|
|
else
|
|
|
|
|
die $LINENO "invalid value: $TACKER_MODE for TACKER_MODE"
|
|
|
|
|
fi
|