OpenStack Caracal : Configure Heat (Network Node)2024/08/07 |
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-caracal,epel,crb -y install openstack-heat-api openstack-heat-api-cfn openstack-heat-engine python3-heatclient
|
[2] | Get valid SSL/TLS certificate or Create self-signed certificate for Network Node and Configure Heat. |
[root@network ~]# cp /etc/letsencrypt/live/network.srv.world/{fullchain.pem,privkey.pem} /etc/heat/ [root@network ~]# chown heat /etc/heat/{fullchain.pem,privkey.pem} [root@network ~]# mv /etc/heat/heat.conf /etc/heat/heat.conf.org
[root@network ~]#
vi /etc/heat/heat.conf # create new [DEFAULT] deferred_auth_method = trusts trusts_delegated_roles = heat_stack_owner # specify Heat API Host heat_metadata_server_url = https://network.srv.world:8000 heat_waitcondition_server_url = https://network.srv.world:8000/v1/waitcondition 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 cert_file = /etc/heat/fullchain.pem key_file = /etc/heat/privkey.pem [heat_api_cfn] bind_host = 10.0.0.50 bind_port = 8000 cert_file = /etc/heat/fullchain.pem key_file = /etc/heat/privkey.pem # 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 |