This document describes how to install a simple OpenStack which can be a Apmec VIM. Since the kolla-ansible provides a good and stable way to deploy an OpenStack environment, this document adopts it to finish this task.
The target OpenStack consists of three nodes. Besides the OpenStack role, the first one plays kolla-ansible deploy role, which will run a local registry, and be used to run kolla-ansible tool.
The basic information and the topology of these nodes is like this:
About how to prepare Docker and kolla-ansible environment, please refer to https://docs.openstack.org/kolla-ansible/latest/user/quickstart.html
Kolla-ansible is publishing the packaged Docker images at http://tarballs.openstack.org/kolla/images/. This document will use centos-source-registry-pike.tar.gz. So Download it:
# wget http://tarballs.openstack.org/kolla/images/centos-source-registry-pike.tar.gz
And unpack it:
# tar xzvf centos-source-registry-pike.tar.gz -C /opt/registry/
And start Docker registry container:
# docker run -d -v /opt/registry:/var/lib/registry -p 4000:5000 --restart=always --name registry registry:2
And set Docker to access local registry via insecure channel:
# cat /usr/lib/systemd/system/docker.service | grep insecure
ExecStart=/usr/bin/dockerd --insecure-registry 10.1.0.6:4000
# systemctl daemon-reload
# systemctl restart docker
Note
The way to set up Docker to access insecure registry depends on operating system and Docker version, above way is just an example.
And verify the local registry contains the needed images:
# curl -k localhost:4000/v2/_catalog
# curl -k localhost:4000/v2/lokolla/centos-source-fluentd/tags/list
{"name":"lokolla/centos-source-fluentd","tags":["5.0.1"]}
---
kolla_install_type: "source"
openstack_release: "5.0.1"
kolla_internal_vip_address: "10.1.0.5"
docker_registry: "10.1.0.6:4000"
docker_namespace: "lokolla"
api_interface: "eth0"
tunnel_interface: "eth1"
neutron_external_interface: "eth2"
enable_glance: "yes"
enable_haproxy: "yes"
enable_keystone: "yes"
enable_mariadb: "yes"
enable_memcached: "yes"
enable_neutron: "yes"
enable_nova: "yes"
enable_rabbitmq: "yes"
enable_aodh: "yes"
enable_ceilometer: "yes"
enable_gnocchi: "yes"
enable_heat: "yes"
enable_horizon: "yes"
enable_neutron_sfc: "yes"
Note
If nodes are using different network interface names to connect each other, please define them in inventory file.
“10.1.0.5” is an un-used ip address, will be used as VIP address, realized by keepalived container.
$ sudo cp etc/kolla/passwords.yml /etc/kolla/passwords.yml
$ sudo kolla-genpwd
Note
If the pypi version is used to install kolla-ansible the skeleton passwords file may be under ‘/usr/share/kolla-ansible/etc_examples/kolla’.
With this command, /etc/kolla/passwords.yml will be populated with generated passwords.
First copy the sample multinode inventory file from kolla-ansible:
# cp inventory/multinode ~/
Then edit it to contain all of the OpenStack nodes.
[all_vim_nodes]
10.1.0.8
10.1.0.7
10.1.0.6
[control:children]
all_vim_nodes
[network:children]
all_vim_nodes
[compute:children]
all_vim_nodes
[monitoring:children]
all_vim_nodes
[storage:children]
#if the apmec needs volume feature, put related nodes here
# kolla-ansible deploy -i ~/multinode
# kolla-ansible post-deploy
With this command, the “admin-openrc.sh” will be generated at /etc/kolla/admin-openrc.sh.
After installation, OpenStack administrator needs to:
In additions, following steps are needed:
This is a simple task for any OpenStack administrator, but one thing to pay attention to is that the user must have ‘admin’ and ‘heat_stack_owner’ roles on the user’s project.
Most sample TOSCA templates assume there are three Neutron networks in target OpenStack that the VIM user can use:
So create these three networks accordingly. For commands to create Neutron networks, please refer to https://docs.openstack.org/python-openstackclient/latest/cli/command-objects/network.html
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.