Install OpenStack on 7 bare machines using TripleO Quickstart(1 Undercloud+3 Controllers+3 Computes)

Installation undercloud(MinimalCD --> UTC)[CPU:2X12=24CPUS, RAM:64G, Harddisk:2230G]

undercloud(loing as root):
yum -y update
reboot

undercloud(loing as root):
yum install -y yum-utils.noarch
yum install -y deltarpm
yum install -y net-tools
yum install -y ntpdate

/usr/sbin/ntpdate -s stdtime.gov.hk
/usr/sbin/hwclock --systohc

echo "LANG=en_US.utf-8" >> /etc/environment
echo "LC_ALL=en_US.utf-8" >> /etc/environment

systemctl disable firewalld
systemctl stop firewalld
systemctl disable NetworkManager
systemctl stop NetworkManager
systemctl enable network
systemctl start network

echo "192.168.1.50 undercloud.smc.com.hk undercloud" >> /etc/hosts

/usr/bin/sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

echo "undercloud.smc.com.hk" > /etc/hostname
reboot


undercloud(loing as root):
ssh-keygen
export VIRTHOST=127.0.0.2
ssh-copy-id root@$VIRTHOST
ssh root@$VIRTHOST uname -a

curl -O https://raw.githubusercontent.com/openstack/tripleo-quickstart/master/quickstart.sh

vi /root/quickstart.sh
add a line as below:
/usr/bin/sed -i 's/90/120/g' /root/.quickstart/usr/local/share/ansible/roles/overcloud-deploy/defaults/main.yml

after the line as below:
echo "Current run is logged in _quickstart.log file in current directory"

bash quickstart.sh --install-deps

vi /root/config.yml
# Type of undercloud (we're deploying on baremetal otherwise this should be
# virtual)
undercloud_type: baremetal

# Specify the secondary net interface for overcloud provisioning
undercloud_local_interface: eno2

# Specify the external network for undercloud that will be used to route
# overcloud traffic
undercloud_external_network_cidr: 10.0.0.0/24

# Declare the additional interface on undercloud to route overcloud traffic
undercloud_networks:
  external:
    address: 10.0.0.1
    netmask: 255.255.255.0
    device_type: ovs
    type: OVSIntPort
    ovs_bridge: br-ctlplane
    ovs_options: '"tag=10"'
    tag: 10

# Define all the flavors
flavor_map:
  control: control
  compute: compute
  ceph: ceph-storage
  blockstorage: block-storage
  block: block-storage
  objectstorage: swift-storage
  swift: swift-storage

# Will be used by baremetal-undercloud role
step_provide_undercloud: true
# Will be used by baremetal-prep-overcloud role
step_install_upstream_ipxe: true
# Will be used by overcloud-prep-images role
step_introspect: true

# Explicitly declare kvm since we are on BM and disable vBMC
libvirt_type: kvm
libvirt_args: "--libvirt-type kvm"
enable_vbmc: false

#step_provide_undercloud: false
# Environment specific variables
baremetal_provisioning_script: "/root/undercloud-provisioning.sh"
baremetal_network_environment: "/root/network-environment.yaml"
baremetal_instackenv: "/root/instackenv.json"
baremetal_nic_configs: "/root/nic-configs"

# Public (Floating) network definition
floating_ip_cidr: "192.168.24.0/24"
public_net_pool_start: "192.168.24.200"
public_net_pool_end: "192.168.24.250"
public_net_gateway: "192.168.24.1"

extra_args: "--ntp-server pool.ntp.org --control-scale 3 --compute-scale 3 --ceph-storage-scale 0 --block-storage-scale 0 --swift-storage-scale 0 -e /usr/share/openstack-tripleo-heat-templates/environments/puppet-pacemaker.yaml"


vi /root/undercloud-provisioning.sh
#!/bin/bash

chmod +x /root/undercloud-provisioning.sh


vi /root/network-environment.yaml
resource_registry:
  OS::TripleO::BlockStorage::Net::SoftwareConfig: nic-configs/cinder-storage.yaml
  OS::TripleO::Compute::Net::SoftwareConfig: nic-configs/compute.yaml
  OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yaml
  OS::TripleO::ObjectStorage::Net::SoftwareConfig: nic-configs/swift-storage.yaml
  OS::TripleO::CephStorage::Net::SoftwareConfig: nic-configs/ceph-storage.yaml

parameter_defaults:
  ControlPlaneSubnetCidr: '24'
  ControlPlaneDefaultRoute: 192.168.24.1
  EC2MetadataIp: 192.168.24.1
  ExternalNetCidr: 10.0.0.0/24
  ExternalAllocationPools: [{"start": "10.0.0.2", "end": "10.0.0.19"}]
  ExternalInterfaceDefaultRoute: 10.0.0.1
  PublicVirtualFixedIPs: [{ "ip_address": "10.0.0.20" }]
  NeutronExternalNetworkBridge: "''"
  DnsServers: ["8.8.8.8", "8.8.4.4"]


vi /root/instackenv.json
{
  "nodes": [
      {
         "name": "control-1",
         "pm_type": "ipmi",
         "mac": [
             "00:25:90:e9:0b:8c"
         ],
         "cpu": "24",
         "memory": "65536",
         "disk": "2396",
         "arch": "x86_64",
         "pm_user": "ADMIN",
         "pm_password": "ADMIN",
         "pm_addr": "192.168.24.41",
         "capabilities": "profile:control,boot_option:local"
      },
      {
         "name": "control-2",
         "pm_type": "ipmi",
         "mac": [
             "00:25:90:ef:eb:58"
         ],
         "cpu": "24",
         "memory": "65536",
         "disk": "2396",
         "arch": "x86_64",
         "pm_user": "ADMIN",
         "pm_password": "ADMIN",
         "pm_addr": "192.168.24.42",
         "capabilities": "profile:control,boot_option:local"
      },
      {
         "name": "control-3",
         "pm_type": "ipmi",
         "mac": [
             "00:25:90:e7:28:18"
         ],
         "cpu": "24",
         "memory": "65536",
         "disk": "2396",
         "arch": "x86_64",
         "pm_user": "ADMIN",
         "pm_password": "ADMIN",
         "pm_addr": "192.168.24.43",
         "capabilities": "profile:control,boot_option:local"
      },
      {
         "name": "compute-1",
         "pm_type": "ipmi",
         "mac": [
             "0c:c4:7a:13:80:54"
         ],
         "cpu": "24",
         "memory": "65536",
         "disk": "2396",
         "arch": "x86_64",
         "pm_user": "ADMIN",
         "pm_password": "ADMIN",
         "pm_addr": "192.168.24.44",
         "capabilities": "profile:compute,boot_option:local"
      },
      {
         "name": "compute-2",
         "pm_type": "ipmi",
         "mac": [
             "0c:c4:7a:13:82:80"
         ],
         "cpu": "24",
         "memory": "65536",
         "disk": "2396",
         "arch": "x86_64",
         "pm_user": "ADMIN",
         "pm_password": "ADMIN",
         "pm_addr": "192.168.24.45",
         "capabilities": "profile:compute,boot_option:local"
      },
      {
         "name": "compute-3",
         "pm_type": "ipmi",
         "mac": [
             "0c:c4:7a:12:ae:a4"
         ],
         "cpu": "24",
         "memory": "65536",
         "disk": "2396",
         "arch": "x86_64",
         "pm_user": "ADMIN",
         "pm_password": "ADMIN",
         "pm_addr": "192.168.24.46",
         "capabilities": "profile:compute,boot_option:local"
      }
  ]
}


mkdir /root/nic-configs

vi /root/nic-configs/controller.yaml
heat_template_version: pike

parameters:
  ControlPlaneIp:
    default: ''
    description: IP address/subnet on the ctlplane network
    type: string
  ExternalIpSubnet:
    default: ''
    description: IP address/subnet on the external network
    type: string
  InternalApiIpSubnet:
    default: ''
    description: IP address/subnet on the internal_api network
    type: string
  StorageIpSubnet:
    default: ''
    description: IP address/subnet on the storage network
    type: string
  StorageMgmtIpSubnet:
    default: ''
    description: IP address/subnet on the storage_mgmt network
    type: string
  TenantIpSubnet:
    default: ''
    description: IP address/subnet on the tenant network
    type: string
  ManagementIpSubnet: # Only populated when including environments/network-management.yaml
    default: ''
    description: IP address/subnet on the management network
    type: string
  BondInterfaceOvsOptions:
    default: 'bond_mode=active-backup'
    description: The ovs_options string for the bond interface. Set things like
                 lacp=active and/or bond_mode=balance-slb using this option.
    type: string
  ExternalNetworkVlanID:
    default: 10
    description: Vlan ID for the external network traffic.
    type: number
  InternalApiNetworkVlanID:
    default: 20
    description: Vlan ID for the internal_api network traffic.
    type: number
  StorageNetworkVlanID:
    default: 30
    description: Vlan ID for the storage network traffic.
    type: number
  StorageMgmtNetworkVlanID:
    default: 40
    description: Vlan ID for the storage_mgmt network traffic.
    type: number
  TenantNetworkVlanID:
    default: 50
    description: Vlan ID for the tenant network traffic.
    type: number
  ManagementNetworkVlanID:
    default: 60
    description: Vlan ID for the management network traffic.
    type: number
  ExternalInterfaceDefaultRoute:
    default: '10.0.0.1'
    description: default route for the external network
    type: string
  ControlPlaneSubnetCidr: # Override this via parameter_defaults
    default: '24'
    description: The subnet CIDR of the control plane network.
    type: string
  ControlPlaneDefaultRoute: # Override this via parameter_defaults
    description: The default route of the control plane network.
    type: string
  DnsServers: # Override this via parameter_defaults
    default: []
    description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
    type: comma_delimited_list
  EC2MetadataIp: # Override this via parameter_defaults
    description: The IP address of the EC2 metadata server.
    type: string

resources:
  OsNetConfigImpl:
    type: OS::Heat::SoftwareConfig
    properties:
      group: script
      config:
        str_replace:
          template:
            get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh
          params:
            $network_config:
              network_config:
              - type: ovs_bridge
                name: br-ex
                use_dhcp: false
                dns_servers:
                  get_param: DnsServers
                addresses:
                - ip_netmask:
                    list_join:
                    - /
                    - - get_param: ControlPlaneIp
                      - get_param: ControlPlaneSubnetCidr
                routes:
                - ip_netmask: 169.254.169.254/32
                  next_hop:
                    get_param: EC2MetadataIp
                - default: true
                  next_hop:
                    get_param: ControlPlaneDefaultRoute
                members:
                - type: interface
                  name: nic1
                  primary: true
                - type: vlan
                  vlan_id:
                    get_param: ExternalNetworkVlanID
                  addresses:
                  - ip_netmask:
                      get_param: ExternalIpSubnet
                  routes:
                  - default: true
                    next_hop:
                      get_param: ExternalInterfaceDefaultRoute
                - type: vlan
                  vlan_id:
                    get_param: InternalApiNetworkVlanID
                  addresses:
                  - ip_netmask:
                      get_param: InternalApiIpSubnet
                - type: vlan
                  vlan_id:
                    get_param: StorageNetworkVlanID
                  addresses:
                  - ip_netmask:
                      get_param: StorageIpSubnet
                - type: vlan
                  vlan_id:
                    get_param: StorageMgmtNetworkVlanID
                  addresses:
                  - ip_netmask:
                      get_param: StorageMgmtIpSubnet
                - type: vlan
                  vlan_id:
                    get_param: TenantNetworkVlanID
                  addresses:
                  - ip_netmask:
                      get_param: TenantIpSubnet

outputs:
  OS::stack_id:
    description: The OsNetConfigImpl resource.
    value: {get_resource: OsNetConfigImpl}


vi /root/nic-configs/compute.yaml
heat_template_version: pike

parameters:
  ControlPlaneIp:
    default: ''
    description: IP address/subnet on the ctlplane network
    type: string
  ExternalIpSubnet:
    default: ''
    description: IP address/subnet on the external network
    type: string
  InternalApiIpSubnet:
    default: ''
    description: IP address/subnet on the internal_api network
    type: string
  StorageIpSubnet:
    default: ''
    description: IP address/subnet on the storage network
    type: string
  StorageMgmtIpSubnet:
    default: ''
    description: IP address/subnet on the storage_mgmt network
    type: string
  TenantIpSubnet:
    default: ''
    description: IP address/subnet on the tenant network
    type: string
  ManagementIpSubnet: # Only populated when including environments/network-management.yaml
    default: ''
    description: IP address/subnet on the management network
    type: string
  BondInterfaceOvsOptions:
    default: 'bond_mode=active-backup'
    description: The ovs_options string for the bond interface. Set things like
                 lacp=active and/or bond_mode=balance-slb using this option.
    type: string
  ExternalNetworkVlanID:
    default: 10
    description: Vlan ID for the external network traffic.
    type: number
  InternalApiNetworkVlanID:
    default: 20
    description: Vlan ID for the internal_api network traffic.
    type: number
  StorageNetworkVlanID:
    default: 30
    description: Vlan ID for the storage network traffic.
    type: number
  StorageMgmtNetworkVlanID:
    default: 40
    description: Vlan ID for the storage_mgmt network traffic.
    type: number
  TenantNetworkVlanID:
    default: 50
    description: Vlan ID for the tenant network traffic.
    type: number
  ManagementNetworkVlanID:
    default: 60
    description: Vlan ID for the management network traffic.
    type: number
  ExternalInterfaceDefaultRoute:
    default: '10.0.0.1'
    description: default route for the external network
    type: string
  ControlPlaneSubnetCidr: # Override this via parameter_defaults
    default: '24'
    description: The subnet CIDR of the control plane network.
    type: string
  ControlPlaneDefaultRoute: # Override this via parameter_defaults
    description: The default route of the control plane network.
    type: string
  DnsServers: # Override this via parameter_defaults
    default: []
    description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
    type: comma_delimited_list
  EC2MetadataIp: # Override this via parameter_defaults
    description: The IP address of the EC2 metadata server.
    type: string

resources:
  OsNetConfigImpl:
    type: OS::Heat::SoftwareConfig
    properties:
      group: script
      config:
        str_replace:
          template:
            get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh
          params:
            $network_config:
              network_config:
              - type: ovs_bridge
                name: br-ex
                use_dhcp: false
                dns_servers:
                  get_param: DnsServers
                addresses:
                - ip_netmask:
                    list_join:
                    - /
                    - - get_param: ControlPlaneIp
                      - get_param: ControlPlaneSubnetCidr
                routes:
                - ip_netmask: 169.254.169.254/32
                  next_hop:
                    get_param: EC2MetadataIp
                - default: true
                  next_hop:
                    get_param: ControlPlaneDefaultRoute
                members:
                - type: interface
                  name: nic1
                  primary: true
                - type: vlan
                  vlan_id:
                    get_param: InternalApiNetworkVlanID
                  addresses:
                  - ip_netmask:
                      get_param: InternalApiIpSubnet
                - type: vlan
                  vlan_id:
                    get_param: StorageNetworkVlanID
                  addresses:
                  - ip_netmask:
                      get_param: StorageIpSubnet
                - type: vlan
                  vlan_id:
                    get_param: TenantNetworkVlanID
                  addresses:
                  - ip_netmask:
                      get_param: TenantIpSubnet

outputs:
  OS::stack_id:
    description: The OsNetConfigImpl resource.
    value: {get_resource: OsNetConfigImpl}


vi /root/nic-configs/cinder-storage.yaml
heat_template_version: pike

parameters:
  ControlPlaneIp:
    default: ''
    description: IP address/subnet on the ctlplane network
    type: string
  ExternalIpSubnet:
    default: ''
    description: IP address/subnet on the external network
    type: string
  InternalApiIpSubnet:
    default: ''
    description: IP address/subnet on the internal_api network
    type: string
  StorageIpSubnet:
    default: ''
    description: IP address/subnet on the storage network
    type: string
  StorageMgmtIpSubnet:
    default: ''
    description: IP address/subnet on the storage_mgmt network
    type: string
  TenantIpSubnet:
    default: ''
    description: IP address/subnet on the tenant network
    type: string
  ManagementIpSubnet: # Only populated when including environments/network-management.yaml
    default: ''
    description: IP address/subnet on the management network
    type: string
  BondInterfaceOvsOptions:
    default: 'bond_mode=active-backup'
    description: The ovs_options string for the bond interface. Set things like
                 lacp=active and/or bond_mode=balance-slb using this option.
    type: string
  ExternalNetworkVlanID:
    default: 10
    description: Vlan ID for the external network traffic.
    type: number
  InternalApiNetworkVlanID:
    default: 20
    description: Vlan ID for the internal_api network traffic.
    type: number
  StorageNetworkVlanID:
    default: 30
    description: Vlan ID for the storage network traffic.
    type: number
  StorageMgmtNetworkVlanID:
    default: 40
    description: Vlan ID for the storage_mgmt network traffic.
    type: number
  TenantNetworkVlanID:
    default: 50
    description: Vlan ID for the tenant network traffic.
    type: number
  ManagementNetworkVlanID:
    default: 60
    description: Vlan ID for the management network traffic.
    type: number
  ExternalInterfaceDefaultRoute:
    default: '10.0.0.1'
    description: default route for the external network
    type: string
  ControlPlaneSubnetCidr: # Override this via parameter_defaults
    default: '24'
    description: The subnet CIDR of the control plane network.
    type: string
  ControlPlaneDefaultRoute: # Override this via parameter_defaults
    description: The default route of the control plane network.
    type: string
  DnsServers: # Override this via parameter_defaults
    default: []
    description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
    type: comma_delimited_list
  EC2MetadataIp: # Override this via parameter_defaults
    description: The IP address of the EC2 metadata server.
    type: string

resources:
  OsNetConfigImpl:
    type: OS::Heat::SoftwareConfig
    properties:
      group: script
      config:
        str_replace:
          template:
            get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh
          params:
            $network_config:
              network_config: []

outputs:
  OS::stack_id:
    description: The OsNetConfigImpl resource.
    value: {get_resource: OsNetConfigImpl}


vi /root/nic-configs/swift-storage.yaml
heat_template_version: pike

parameters:
  ControlPlaneIp:
    default: ''
    description: IP address/subnet on the ctlplane network
    type: string
  ExternalIpSubnet:
    default: ''
    description: IP address/subnet on the external network
    type: string
  InternalApiIpSubnet:
    default: ''
    description: IP address/subnet on the internal_api network
    type: string
  StorageIpSubnet:
    default: ''
    description: IP address/subnet on the storage network
    type: string
  StorageMgmtIpSubnet:
    default: ''
    description: IP address/subnet on the storage_mgmt network
    type: string
  TenantIpSubnet:
    default: ''
    description: IP address/subnet on the tenant network
    type: string
  ManagementIpSubnet: # Only populated when including environments/network-management.yaml
    default: ''
    description: IP address/subnet on the management network
    type: string
  BondInterfaceOvsOptions:
    default: 'bond_mode=active-backup'
    description: The ovs_options string for the bond interface. Set things like
                 lacp=active and/or bond_mode=balance-slb using this option.
    type: string
  ExternalNetworkVlanID:
    default: 10
    description: Vlan ID for the external network traffic.
    type: number
  InternalApiNetworkVlanID:
    default: 20
    description: Vlan ID for the internal_api network traffic.
    type: number
  StorageNetworkVlanID:
    default: 30
    description: Vlan ID for the storage network traffic.
    type: number
  StorageMgmtNetworkVlanID:
    default: 40
    description: Vlan ID for the storage_mgmt network traffic.
    type: number
  TenantNetworkVlanID:
    default: 50
    description: Vlan ID for the tenant network traffic.
    type: number
  ManagementNetworkVlanID:
    default: 60
    description: Vlan ID for the management network traffic.
    type: number
  ExternalInterfaceDefaultRoute:
    default: '10.0.0.1'
    description: default route for the external network
    type: string
  ControlPlaneSubnetCidr: # Override this via parameter_defaults
    default: '24'
    description: The subnet CIDR of the control plane network.
    type: string
  ControlPlaneDefaultRoute: # Override this via parameter_defaults
    description: The default route of the control plane network.
    type: string
  DnsServers: # Override this via parameter_defaults
    default: []
    description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
    type: comma_delimited_list
  EC2MetadataIp: # Override this via parameter_defaults
    description: The IP address of the EC2 metadata server.
    type: string

resources:
  OsNetConfigImpl:
    type: OS::Heat::SoftwareConfig
    properties:
      group: script
      config:
        str_replace:
          template:
            get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh
          params:
            $network_config:
              network_config: []

outputs:
  OS::stack_id:
    description: The OsNetConfigImpl resource.
    value: {get_resource: OsNetConfigImpl}


vi /root/nic-configs/ceph-storage.yaml
heat_template_version: pike

parameters:
  ControlPlaneIp:
    default: ''
    description: IP address/subnet on the ctlplane network
    type: string
  ExternalIpSubnet:
    default: ''
    description: IP address/subnet on the external network
    type: string
  InternalApiIpSubnet:
    default: ''
    description: IP address/subnet on the internal_api network
    type: string
  StorageIpSubnet:
    default: ''
    description: IP address/subnet on the storage network
    type: string
  StorageMgmtIpSubnet:
    default: ''
    description: IP address/subnet on the storage_mgmt network
    type: string
  TenantIpSubnet:
    default: ''
    description: IP address/subnet on the tenant network
    type: string
  ManagementIpSubnet: # Only populated when including environments/network-management.yaml
    default: ''
    description: IP address/subnet on the management network
    type: string
  BondInterfaceOvsOptions:
    default: 'bond_mode=active-backup'
    description: The ovs_options string for the bond interface. Set things like
                 lacp=active and/or bond_mode=balance-slb using this option.
    type: string
  ExternalNetworkVlanID:
    default: 10
    description: Vlan ID for the external network traffic.
    type: number
  InternalApiNetworkVlanID:
    default: 20
    description: Vlan ID for the internal_api network traffic.
    type: number
  StorageNetworkVlanID:
    default: 30
    description: Vlan ID for the storage network traffic.
    type: number
  StorageMgmtNetworkVlanID:
    default: 40
    description: Vlan ID for the storage_mgmt network traffic.
    type: number
  TenantNetworkVlanID:
    default: 50
    description: Vlan ID for the tenant network traffic.
    type: number
  ManagementNetworkVlanID:
    default: 60
    description: Vlan ID for the management network traffic.
    type: number
  ExternalInterfaceDefaultRoute:
    default: '10.0.0.1'
    description: default route for the external network
    type: string
  ControlPlaneSubnetCidr: # Override this via parameter_defaults
    default: '24'
    description: The subnet CIDR of the control plane network.
    type: string
  ControlPlaneDefaultRoute: # Override this via parameter_defaults
    description: The default route of the control plane network.
    type: string
  DnsServers: # Override this via parameter_defaults
    default: []
    description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
    type: comma_delimited_list
  EC2MetadataIp: # Override this via parameter_defaults
    description: The IP address of the EC2 metadata server.
    type: string

resources:
  OsNetConfigImpl:
    type: OS::Heat::SoftwareConfig
    properties:
      group: script
      config:
        str_replace:
          template:
            get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh
          params:
            $network_config:
              network_config:
              - type: ovs_bridge
                name: br-ex
                use_dhcp: false
                dns_servers:
                  get_param: DnsServers
                addresses:
                - ip_netmask:
                    list_join:
                    - /
                    - - get_param: ControlPlaneIp
                      - get_param: ControlPlaneSubnetCidr
                routes:
                - ip_netmask: 169.254.169.254/32
                  next_hop:
                    get_param: EC2MetadataIp
                - default: true
                  next_hop:
                    get_param: ControlPlaneDefaultRoute
                members:
                - type: interface
                  name: nic1
                  primary: true
                - type: vlan
                  vlan_id:
                    get_param: StorageNetworkVlanID
                  addresses:
                  - ip_netmask:
                      get_param: StorageIpSubnet
                - type: vlan
                  vlan_id:
                    get_param: StorageMgmtNetworkVlanID
                  addresses:
                  - ip_netmask:
                      get_param: StorageMgmtIpSubnet

outputs:
  OS::stack_id:
    description: The OsNetConfigImpl resource.
    value: {get_resource: OsNetConfigImpl}


bash quickstart.sh --clean --playbook baremetal-undercloud.yml --config /root/config.yml --release pike --tags all $VIRTHOST

......

PLAY RECAP **************************************************************************************************************************************************
localhost                  : ok=21   changed=13   unreachable=0    failed=0
undercloud                 : ok=119  changed=71   unreachable=0    failed=0

Wednesday 21 June 2018  06:49:57 +0000 (0:04:53.750)       2:35:29.940 ********
===============================================================================
overcloud-deploy : Deploy the overcloud ----------------------------------------------------------------------------------------------------------- 4695.84s
/root/.quickstart/usr/local/share/ansible/roles/overcloud-deploy/tasks/deploy-overcloud.yml:1 --------------------------------------------------------------
undercloud-deploy : Install the undercloud -------------------------------------------------------------------------------------------------------- 2123.31s
/root/.quickstart/usr/local/share/ansible/roles/undercloud-deploy/tasks/install-undercloud.yml:6 -----------------------------------------------------------
fetch-images : Get image --------------------------------------------------------------------------------------------------------------------------- 571.87s
/root/.quickstart/tripleo-quickstart/roles/fetch-images/tasks/fetch.yml:107 --------------------------------------------------------------------------------
overcloud-prep-images : Prepare the overcloud images for deploy ------------------------------------------------------------------------------------ 512.60s
/root/.quickstart/usr/local/share/ansible/roles/overcloud-prep-images/tasks/overcloud-prep-images.yml:1 ----------------------------------------------------
validate-simple : Validate the overcloud ----------------------------------------------------------------------------------------------------------- 293.75s
/root/.quickstart/usr/local/share/ansible/roles/validate-simple/tasks/main.yml:34 --------------------------------------------------------------------------
baremetal-undercloud/packages : Install TripleO package -------------------------------------------------------------------------------------------- 279.79s
/root/.quickstart/usr/local/share/ansible/roles/baremetal-undercloud/packages/tasks/main.yml:5 -------------------------------------------------------------
baremetal-prep-overcloud : Run install upstream ipxe script ---------------------------------------------------------------------------------------- 159.65s
/root/.quickstart/usr/local/share/ansible/roles/baremetal-prep-overcloud/tasks/install-upstream-ipxe.yml:9 -------------------------------------------------
fetch-images : Get image ---------------------------------------------------------------------------------------------------------------------------- 92.69s
/root/.quickstart/tripleo-quickstart/roles/fetch-images/tasks/fetch.yml:107 --------------------------------------------------------------------------------
overcloud-prep-flavors : Prepare the scripts for overcloud flavors ---------------------------------------------------------------------------------- 72.21s
/root/.quickstart/usr/local/share/ansible/roles/overcloud-prep-flavors/tasks/overcloud-prep-flavors.yml:1 --------------------------------------------------
baremetal-undercloud/packages : Install additional packages ----------------------------------------------------------------------------------------- 70.11s
/root/.quickstart/usr/local/share/ansible/roles/baremetal-undercloud/packages/tasks/main.yml:15 ------------------------------------------------------------
repo-setup : Setup repos on live host --------------------------------------------------------------------------------------------------------------- 39.72s
/root/.quickstart/tripleo-quickstart/roles/repo-setup/tasks/setup_repos.yml:1 ------------------------------------------------------------------------------
overcloud-deploy : Run post-deploy script ----------------------------------------------------------------------------------------------------------- 30.74s
/root/.quickstart/usr/local/share/ansible/roles/overcloud-deploy/tasks/post-deploy.yml:10 ------------------------------------------------------------------
overcloud-prep-config : Push baremetal nic-configs directory (if defined) --------------------------------------------------------------------------- 20.38s
/root/.quickstart/usr/local/share/ansible/roles/overcloud-prep-config/tasks/main.yml:53 --------------------------------------------------------------------
overcloud-prep-network : Prepare the network-isolation required networks on the undercloud ---------------------------------------------------------- 17.28s
/root/.quickstart/usr/local/share/ansible/roles/overcloud-prep-network/tasks/overcloud-prep-network.yml:1 --------------------------------------------------
baremetal-undercloud/packages : Synchronize time immediately with ntpdate --------------------------------------------------------------------------- 11.51s
/root/.quickstart/usr/local/share/ansible/roles/baremetal-undercloud/packages/tasks/ntp.yml:56 -------------------------------------------------------------
fetch-images : Get tar images from cache ------------------------------------------------------------------------------------------------------------- 9.34s
/root/.quickstart/tripleo-quickstart/roles/fetch-images/tasks/fetch.yml:186 --------------------------------------------------------------------------------
baremetal-undercloud/packages : Install ntp packages ------------------------------------------------------------------------------------------------- 8.56s
/root/.quickstart/usr/local/share/ansible/roles/baremetal-undercloud/packages/tasks/ntp.yml:2 --------------------------------------------------------------
validate-perf : Install the latest version of dstat on overcloud ------------------------------------------------------------------------------------- 7.87s
/root/.quickstart/usr/local/share/ansible/roles/validate-perf/tasks/main.yml:4 -----------------------------------------------------------------------------
fetch-images : Get tar images from cache ------------------------------------------------------------------------------------------------------------- 7.53s
/root/.quickstart/tripleo-quickstart/roles/fetch-images/tasks/fetch.yml:186 --------------------------------------------------------------------------------
fetch-images : Get actual md5 checksum of image ------------------------------------------------------------------------------------------------------ 6.72s
/root/.quickstart/tripleo-quickstart/roles/fetch-images/tasks/fetch.yml:118 --------------------------------------------------------------------------------
+ set +x



undercloud(loing as root):
yum -y groupinstall "GNOME Desktop"

systemctl set-default graphical.target

systemctl start graphical.target

undercloud(loing as root):
Applications-->Favorites-->Terminal
ssh -F /root/.quickstart/ssh.config.ansible undercloud

sudo hiera admin_password
875e980c411e48356a24982c856a1d35ddc9ea41

Applications-->Favorites-->Firefox Web Browser
https://192.168.24.2
admin
875e980c411e48356a24982c856a1d35ddc9ea41

Overcloud information:

    Overcloud IP address: 10.0.0.20
    Username: admin
    Password: gDqqVguFgDxujRp6hBBZfF4Cv

http://10.0.0.20
admin
gDqqVguFgDxujRp6hBBZfF4Cv