OpenStack Zed : Configure Heat (Network Node)2023/06/29 |
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 | | Neutron L2/L3 Agent | | Libvirt | | Memcached Nginx | | Neutron Metadata | | Nova Compute | | Keystone httpd | | Open vSwitch | | Neutron L2 Agent | | Glance Nova API | | iSCSI Target | | Open vSwitch | | Neutron Server | | Cinder Volume | | | | Neutron Metadata | | Heat API/Engine | | | | Cinder API | | | | | +-----------------------+ +-----------------------+ +-----------------------+ |
[1] | Install Heat services on Network Node. That's OK to answer [No] to questions during the installation. |
root@network:~# apt -y install heat-api heat-api-cfn heat-engine python3-heatclient python3-vitrageclient python3-zunclient
|
[2] | Get valid SSL/TLS certificate or Create self-signed certificate for Network Node and Configure Heat. |
root@network:~# mkdir -p /etc/heat/ssl/{public,private} root@network:~# cp /etc/letsencrypt/live/network.srv.world/fullchain.pem /etc/heat/ssl/public/fullchain.crt root@network:~# cp /etc/letsencrypt/live/network.srv.world/privkey.pem /etc/heat/ssl/private/ root@network:~# chown -R heat:heat /etc/heat/ssl 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 # 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/ssl/public/fullchain.crt key_file = /etc/heat/ssl/private/privkey.pem [heat_api_cfn] bind_host = 10.0.0.50 bind_port = 8000 cert_file = /etc/heat/ssl/public/fullchain.crt key_file = /etc/heat/ssl/private/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 chmod 640 /etc/heat/heat.conf root@network:~# chgrp heat /etc/heat/heat.conf |
[3] | Add Data into Database and start Heat services. |
root@network:~# su -s /bin/bash heat -c "heat-manage db_sync" root@network:~# systemctl restart heat-api heat-api-cfn heat-engine root@network:~# systemctl enable heat-api heat-api-cfn heat-engine |
Sponsored Link |