Chapter 6. Deploy the edge without storage You can deploy a distributed compute node (DCN) cluster without block storage at edge sites if you use the Object Storage service (swift) as a back end for the Image service (glance) at the central location. If you deploy a site without block storage, you cannot update it later to have block storage. Use the compute role when deploying the edge site without storage. Important The following procedure uses lvm as the back end for the Block Storage service (cinder), which is not supported for production. You must deploy a certified block storage solution as a back end for the Block Storage service. 6.1. Architecture of a DCN edge site without storage To deploy this architecture, use the Compute role. Without block storage at the edge The Object Storage (swift) service at the control plane is used as an Image (glance) service backend. Multi-backend image service is not available. Images are cached locally at edge sites in Nova. For more information see Chapter 11, Precaching glance images into nova . The instances are stored locally on the Compute nodes. Volume services such as Block Storage (cinder) are not available at edge sites. Important If you do not deploy the central location with Red Hat Ceph storage, you will not have the option of deploying an edge site with storage at a later time. For more information about deploying without block storage at the edge, see Section 6.2, "Deploying edge nodes without storage" . 6.2. Deploying edge nodes without storage When you deploy Compute nodes at an edge site, you use the central location as the control plane. You can add a new DCN stack to your deployment and reuse the configuration files from the central location to create new environment files. Prerequisites You must create the network_data.yaml file specific to your environment. You can find sample files in /usr/share/openstack-tripleo-heat-templates/network-data-samples . You must create an overcloud-baremetal-deploy.yaml file specific to your environment. For more information see Provisioning bare metal nodes for the overcloud . You must upload images to the central location before copying them to edge sites; a copy of each image must exist in the Image service (glance) at the central location. You must use the RBD storage driver for the Image, Compute, and Block Storage services. Procedure Log in to the undercloud as the stack user. Source the stackrc file: Generate an environment file ~/dcn0/dcn0-images-env.yaml[d]: Generate a roles file for the edge location. Generate roles for the edge location using roles appropriate for your environment: If you are using ML2/OVS for networking overlay, you must edit the Compute role include the NeutronDhcpAgent and NeutronMetadataAgent services: Create a role file for the Compute role: Edit the /home/stack/dcn0/dcn0_roles.yaml file to include the NeutronDhcpAgent and NeutronMetadataAgent services: For more information, see Preparing for a routed provider network . Provision networks for the overcloud. This command takes a definition file for overcloud networks as input. You must use the output file in your command to deploy the overcloud: Important If your network_data.yaml template includes additional networks which were not included when you provisioned networks for the central location, then you must re-run the network provisioning command on the central location: Provision bare metal instances. This command takes a definition file for bare metal nodes as input. You must use the output file in your command to deploy the overcloud: Configure the naming conventions for your site in the site-name.yaml environment file. Deploy the stack for the dcn0 edge site: 6.3. Excluding specific image types at the edge By default, Compute nodes advertise all image formats that they support. If your Compute nodes do not use Ceph storage, you can exclude RAW images from the image format advertisement. The RAW image format consumes more network bandwidth and local storage than QCOW2 images and is inefficient when used at edge sites without Ceph storage. Use the NovaImageTypeExcludeList parameter to exclude specific image formats: Important Do not use this parameter at edge sites with Ceph, because Ceph requires RAW images. Note Compute nodes that do not advertise RAW images cannot host instances created from RAW images. This can affect snapshot-redeploy and shelving. Prerequisites Red Hat OpenStack Platform director is installed The central location is installed Compute nodes are available for a DCN deployment Procedure Log in to the undercloud host as the stack user. Source the stackrc credentials file: Include the NovaImageTypeExcludeList parameter in one of your custom environment files: Include the environment file that contains the NovaImageTypeExcludeList parameter in the overcloud deployment command, along with any other environment files relevant to your deployment:

Commands:
[stack@director ~]USD source ~/stackrc
sudo[e] openstack tripleo container image prepare -e containers.yaml --output-env-file ~/dcn0/dcn0-images-env.yaml
(undercloud)USD openstack overcloud roles generate Compute -o /home/stack/dcn0/dcn0_roles.yaml
openstack overcloud roles generate Compute -o /home/stack/dcn0/dcn0_roles.yaml
- OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe + - OS::TripleO::Services::NeutronDhcpAgent + - OS::TripleO::Services::NeutronMetadataAgent - OS::TripleO::Services::NeutronLinuxbridgeAgent - OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::NovaAZConfig - OS::TripleO::Services::NovaCompute
(undercloud)USD openstack overcloud network provision --output /home/stack/dcn0/overcloud-networks-deployed.yaml /home/stack/dcn0/network_data.yaml
(undercloud)USD openstack overcloud network provision --output /home/stack/central/overcloud-networks-deployed.yaml /home/stack/central/network_data.yaml
(undercloud)USD openstack overcloud node provision --stack dcn0 --network-config -o /home/stack/dcn0/deployed_metal.yaml ~/overcloud-baremetal-deploy.yaml
parameter_defaults: NovaComputeAvailabilityZone: dcn0 ControllerExtraConfig: nova::availability_zone::default_schedule_zone: dcn0 NovaCrossAZAttach: false
openstack overcloud deploy --deployed-server --stack dcn0 --templates /usr/share/openstack-tripleo-heat-templates/ -r /home/stack/dcn0/dcn0_roles.yaml -n /home/stack/network_data.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/nova-az-config.yaml -e /home/stack/overcloud-deploy/central/central-export.yaml -e /home/stack/dcn0/overcloud-networks-deployed.yaml -e /home/stack/dcn0/overcloud-vip-deployed.yaml -e /home/stack/dcn0/deployed_metal.yaml
source ~/stackrc
parameter_defaults: NovaImageTypeExcludeList: - raw
openstack overcloud deploy --templates -n network_data.yaml -r roles_data.yaml -e <environment_files> -e <new_environment_file>