OpenStack Epoxy : Configure Heat (Network Node)2025/05/27 |
|
Install OpenStack Orchestration Service (Heat). This example is based on the environment like follows.
------------+--------------------------+--------------------------+------------
| | |
eth0|10.0.0.30 eth0|10.0.0.50 eth0|10.0.0.51
+-----------+-----------+ +-----------+-----------+ +-----------+-----------+
| [ dlp.srv.world ] | | [ network.srv.world ] | | [ node01.srv.world ] |
| (Control Node) | | (Network Node) | | (Compute Node) |
| | | | | |
| MariaDB RabbitMQ | | Open vSwitch | | Libvirt |
| Memcached Nginx | | Neutron Server | | Nova Compute |
| Keystone httpd | | OVN-Northd | | Open vSwitch |
| Glance Nova API | | Nginx iSCSI Target | | OVN Metadata Agent |
| Cinder API | | Cinder Volume | | OVN-Controller |
| | | Heat API/Engine | | |
+-----------------------+ +-----------------------+ +-----------------------+
|
| [1] | Install Heat services on Network Node. |
|
[root@network ~]# dnf --enablerepo=centos-openstack-epoxy,epel,crb -y install openstack-heat-api openstack-heat-api-cfn openstack-heat-engine python3-heatclient
|
| [2] | Configure Heat. |
|
[root@network ~]# mv /etc/heat/heat.conf /etc/heat/heat.conf.org
[root@network ~]#
vi /etc/heat/heat.conf # create new [DEFAULT] heat_stack_user_role = heat_stack_user # Heat domain name stack_user_domain_name = heat # Heat domain admin username stack_domain_admin = heat_domain_admin # Heat domain admin's password stack_domain_admin_password = servicepassword # RabbitMQ connection info transport_url = rabbit://openstack:password@dlp.srv.world # MariaDB connection info [database] connection = mysql+pymysql://heat:password@dlp.srv.world/heat # Keystone connection info [clients_keystone] auth_uri = https://dlp.srv.world:5000 [heat_api] bind_host = 10.0.0.50 bind_port = 8004 [heat_api_cfn] bind_host = 10.0.0.50 bind_port = 8000 # Keystone auth info [keystone_authtoken] www_authenticate_uri = https://dlp.srv.world:5000 auth_url = https://dlp.srv.world:5000 memcached_servers = dlp.srv.world:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = service username = heat password = servicepassword # if using self-signed certs on Apache2 Keystone, turn to [true] insecure = false [trustee] auth_url = https://dlp.srv.world:5000 auth_type = password user_domain_name = Default username = heat password = servicepassword [oslo_policy] enforce_new_defaults = true chgrp heat /etc/heat/heat.conf [root@network ~]# chmod 640 /etc/heat/heat.conf [root@network ~]# su -s /bin/bash heat -c "heat-manage db_sync" [root@network ~]# systemctl enable --now openstack-heat-api openstack-heat-api-cfn openstack-heat-engine |
| [3] | If Firewalld is running, allow service ports. |
|
[root@network ~]# firewall-cmd --add-port={8000/tcp,8004/tcp} success [root@network ~]# firewall-cmd --runtime-to-permanent success |
| Sponsored Link |
|
|