Install via Devstack¶
Overview¶
Tacker provides some examples, or templates, of local.conf
used for
Devstack. You can find them in ${TACKER_ROOT}/devstack
directory in the
tacker repository.
Devstack supports installation from different code branch by specifying
branch name in your local.conf
as described in below.
If you install the latest version, use master
branch.
On the other hand, if you install specific release, suppose ussuri
in this case, branch name must be stable/ussuri
.
For installation, stack.sh
script in Devstack should be run as a
non-root user with sudo enabled.
Add a separate user stack
and granting relevant privileges is a good way
to install via Devstack 1.
Install¶
Devstack expects to be provided local.conf
before running install script.
The first step of installing tacker is to clone Devstack and prepare your
local.conf
.
Download DevStack
Get Devstack via git, with specific branch optionally if you prefer, and go down to the directory.
$ git clone https://opendev.org/openstack-dev/devstack -b <branch-name> $ cd devstack
Enable tacker related Devstack plugins in
local.conf
filelocal.conf
needs to be created by manual, or copied from Tacker repo 2 renamed aslocal.conf
. We have two choices for configuration basically. First one is theall-in-one
mode that installs full Devstack environment including Tacker in one PC or Laptop. Second, it isstandalone
mode which only will install only Tacker environment with some mandatory OpenStack services. Nova, Neutron or other essential components are not included in this mode.All-in-one mode
There are two examples for
all-in-one
mode, targetting OpenStack or Kubernetes as VIM.local.conf
forall-in-one
mode with OpenStack 3 is shown as below.[[local|localrc]] ############################################################ # Customize the following HOST_IP based on your installation ############################################################ HOST_IP=127.0.0.1 ADMIN_PASSWORD=devstack MYSQL_PASSWORD=devstack RABBIT_PASSWORD=devstack SERVICE_PASSWORD=$ADMIN_PASSWORD SERVICE_TOKEN=devstack ############################################################ # Customize the following section based on your installation ############################################################ # Pip PIP_USE_MIRRORS=False USE_GET_PIP=1 #OFFLINE=False #RECLONE=True # Logging LOGFILE=$DEST/logs/stack.sh.log VERBOSE=True ENABLE_DEBUG_LOG_LEVEL=True ENABLE_VERBOSE_LOG_LEVEL=True # Neutron ML2 with OpenVSwitch Q_PLUGIN=ml2 Q_AGENT=openvswitch # Disable security groups Q_USE_SECGROUP=False LIBVIRT_FIREWALL_DRIVER=nova.virt.firewall.NoopFirewallDriver # Enable heat, networking-sfc, barbican and mistral enable_plugin heat https://opendev.org/openstack/heat master enable_plugin networking-sfc https://opendev.org/openstack/networking-sfc master enable_plugin barbican https://opendev.org/openstack/barbican master enable_plugin mistral https://opendev.org/openstack/mistral master # Ceilometer #CEILOMETER_PIPELINE_INTERVAL=300 CEILOMETER_EVENT_ALARM=True enable_plugin ceilometer https://opendev.org/openstack/ceilometer master enable_plugin aodh https://opendev.org/openstack/aodh master # Blazar enable_plugin blazar https://github.com/openstack/blazar.git master # Fenix enable_plugin fenix https://opendev.org/x/fenix.git master # Tacker enable_plugin tacker https://opendev.org/openstack/tacker master enable_service n-novnc enable_service n-cauth disable_service tempest [[post-config|/etc/neutron/dhcp_agent.ini]] [DEFAULT] enable_isolated_metadata = True
The difference between
all-in-one
mode with Kubernetes 4 is to deploy kuryr-kubernetes and octavia.[[local|localrc]] ############################################################ # Customize the following HOST_IP based on your installation ############################################################ HOST_IP=127.0.0.1 ADMIN_PASSWORD=devstack MYSQL_PASSWORD=devstack RABBIT_PASSWORD=devstack SERVICE_PASSWORD=$ADMIN_PASSWORD SERVICE_TOKEN=devstack ############################################################ # Customize the following section based on your installation ############################################################ # Pip PIP_USE_MIRRORS=False USE_GET_PIP=1 #OFFLINE=False #RECLONE=True # Logging LOGFILE=$DEST/logs/stack.sh.log VERBOSE=True ENABLE_DEBUG_LOG_LEVEL=True ENABLE_VERBOSE_LOG_LEVEL=True # Neutron ML2 with OpenVSwitch Q_PLUGIN=ml2 Q_AGENT=openvswitch # Disable security groups Q_USE_SECGROUP=False LIBVIRT_FIREWALL_DRIVER=nova.virt.firewall.NoopFirewallDriver # Enable heat, networking-sfc, barbican and mistral enable_plugin heat https://opendev.org/openstack/heat master enable_plugin networking-sfc https://opendev.org/openstack/networking-sfc master enable_plugin barbican https://opendev.org/openstack/barbican master enable_plugin mistral https://opendev.org/openstack/mistral master # Ceilometer #CEILOMETER_PIPELINE_INTERVAL=300 enable_plugin ceilometer https://opendev.org/openstack/ceilometer master enable_plugin aodh https://opendev.org/openstack/aodh master # Blazar enable_plugin blazar https://github.com/openstack/blazar.git master # Tacker enable_plugin tacker https://opendev.org/openstack/tacker master enable_service n-novnc enable_service n-cauth disable_service tempest # Enable kuryr-kubernetes, docker, octavia KUBERNETES_VIM=True enable_plugin kuryr-kubernetes https://opendev.org/openstack/kuryr-kubernetes master enable_plugin octavia https://opendev.org/openstack/octavia master enable_plugin devstack-plugin-container https://opendev.org/openstack/devstack-plugin-container master #KURYR_K8S_CLUSTER_IP_RANGE="10.0.0.0/24" [[post-config|/etc/neutron/dhcp_agent.ini]] [DEFAULT] enable_isolated_metadata = True [[post-config|$OCTAVIA_CONF]] [controller_worker] amp_active_retries=9999
Note
The above local.conf.kubernetes does not work on CentOS8. Because docker-ce is not supported on CentOS8.
Standalone mode
The
local.conf
file of standalone mode from 5 is shown as below.[[local|localrc]] ############################################################ # Customize the following HOST_IP based on your installation ############################################################ HOST_IP=127.0.0.1 SERVICE_HOST=127.0.0.1 SERVICE_PASSWORD=devstack ADMIN_PASSWORD=devstack SERVICE_TOKEN=devstack DATABASE_PASSWORD=root RABBIT_PASSWORD=password ENABLE_HTTPD_MOD_WSGI_SERVICES=True KEYSTONE_USE_MOD_WSGI=True # Logging LOGFILE=$DEST/logs/stack.sh.log VERBOSE=True ENABLE_DEBUG_LOG_LEVEL=True ENABLE_VERBOSE_LOG_LEVEL=True GIT_BASE=${GIT_BASE:-https://opendev.org} TACKER_MODE=standalone USE_BARBICAN=True enable_plugin networking-sfc ${GIT_BASE}/openstack/networking-sfc enable_plugin barbican ${GIT_BASE}/openstack/barbican enable_plugin mistral ${GIT_BASE}/openstack/mistral enable_plugin tacker ${GIT_BASE}/openstack/tacker
Installation
After saving the
local.conf
, we can runstack.sh
in the terminal to start setting up.$ ./stack.sh
Footnotes
- 1
- 2
https://opendev.org/openstack/tacker/src/branch/master/devstack
- 3
https://opendev.org/openstack/tacker/src/branch/master/devstack/local.conf.example
- 4
https://opendev.org/openstack/tacker/src/branch/master/devstack/local.conf.kubernetes
- 5
https://opendev.org/openstack/tacker/src/branch/master/devstack/local.conf.standalone