You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'localhost' identified by 'password123';
GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'%' identified by 'password123';
exit
Create openstack objects
Source .adminrc
source .adminrc
Create service and creds
Create heat user and add role:
openstack user create --domain default --password password123 heat
openstack role add --project service --user heat admin
Create heat services:
openstack service create --name heat \
--description "Orchestration" orchestration
openstack service create --name heat-cfn \
--description "Orchestration" cloudformation
Create service API endpoints:
foriin public internal admin; \
do openstack endpoint create --region RegionOne \
orchestration $i http://controller:8004/v1/%\(tenant_id\)s; \
doneforiin public internal admin; \
do openstack endpoint create --region RegionOne \
cloudformation $i http://controller:8000/v1; \
done
Create heat domain
openstack domain create --description "Stack projects and users" heat
openstack user create --domain heat --password password123 heat_domain_admin
openstack role add --domain heat --user-domain heat --user heat_domain_admin admin
openstack role create heat_stack_owner
openstack role add --project demoproject --user demouser heat_stack_owner
openstack role create heat_stack_user
heat_template_version: 2021-04-16description: > Simple template to deploy a single compute instance. Nothing special, just for testing.parameters:
NetID:
type: stringdescription: Network ID to use for the instance.resources:
my_key:
type: OS::Nova::KeyPairproperties:
name: my_keysave_private_key: truemy_instance:
type: OS::Nova::Serverproperties:
key_name: { get_resource: my_key }image: cirrosflavor: m1.micronetworks:
- network: { get_param: NetID }outputs:
private_key:
description: Private keyvalue: { get_attr: [ my_key, private_key ] }instance_name:
description: Name of the instancevalue: { get_attr: [ my_instance, name ]}instance_ip:
description: IP address of the instance.value: { get_attr: [ my_instance, first_address ] }