summaryrefslogtreecommitdiffstats
path: root/build/opnfv-environment.yaml
blob: 7e0f801775dc40278e4405aa360044034c1d3cba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#Environment file used to list common parameters required for all deployment
#types

parameters:
#  CloudDomain:

parameter_defaults:
  CeilometerStoreEvents: true
  NeutronEnableForceMetadata: true
  NeutronEnableDHCPMetadata: true
  NeutronEnableIsolatedMetadata: true
  OvercloudControlFlavor: control
  OvercloudComputeFlavor: compute
  controllerImage: overcloud-full

  ExtraConfig:
    tripleo::ringbuilder::build_ring: False
    nova::nova_public_key:
      type: 'ssh-rsa'
      replace_public_key:
    nova::nova_private_key:
      type: 'ssh-rsa'
      replace_private_key:
    nova::policy::policies:
      nova-os_compute_api:servers:show:host_status:
        key: 'os_compute_api:servers:show:host_status'
        value: 'rule:admin_or_owner'
    nova::api::default_floating_pool: 'external'
  ControllerServices:
    - OS::TripleO::Services::CACerts
#    - OS::TripleO::Services::CephClient
    - OS::TripleO::Services::CephMon
    - OS::TripleO::Services::CephOSD
    - OS::TripleO::Services::CephExternal
    - OS::TripleO::Services::CephRgw
    - OS::TripleO::Services::CinderApi
    - OS::TripleO::Services::CinderBackup
    - OS::TripleO::Services::CinderScheduler
    - OS::TripleO::Services::CinderVolume
    - OS::TripleO::Services::Core
    - OS::TripleO::Services::Kernel
    - OS::TripleO::Services::Keystone
    - OS::TripleO::Services::GlanceApi
    - OS::TripleO::Services::GlanceRegistry
    - OS::TripleO::Services::HeatApi
    - OS::TripleO::Services::HeatApiCfn
    - OS::TripleO::Services::HeatApiCloudwatch
    - OS::TripleO::Services::HeatEngine
    - OS::TripleO::Services::MySQL
    - OS::TripleO::Services::NeutronDhcpAgent
    - OS::TripleO::Services::NeutronL3Agent
    - OS::TripleO::Services::NeutronMetadataAgent
    - OS::TripleO::Services::NeutronApi
    - OS::TripleO::Services::NeutronCorePlugin
    - OS::TripleO::Services::NeutronOvsAgent
    - OS::TripleO::Services::RabbitMQ
    - OS::TripleO::Services::HAproxy
    - OS::TripleO::Services::Keepalived
    - OS::TripleO::Services::Memcached
    - OS::TripleO::Services::Pacemaker
    - OS::TripleO::Services::Redis
    - OS::TripleO::Services::NovaConductor
    - OS::TripleO::Services::MongoDb
    - OS::TripleO::Services::NovaApi
    - OS::TripleO::Services::NovaMetadata
    - OS::TripleO::Services::NovaScheduler
    - OS::TripleO::Services::NovaConsoleauth
    - OS::TripleO::Services::NovaVncProxy
    - OS::TripleO::Services::Ntp
    - OS::TripleO::Services::SwiftProxy
    - OS::TripleO::Services::SwiftStorage
    - OS::TripleO::Services::SwiftRingBuilder
    - OS::TripleO::Services::Snmp
    - OS::TripleO::Services::Timezone
    - OS::TripleO::Services::CeilometerApi
    - OS::TripleO::Services::CeilometerCollector
    - OS::TripleO::Services::CeilometerExpirer
    - OS::TripleO::Services::CeilometerAgentCentral
    - OS::TripleO::Services::CeilometerAgentNotification
    - OS::TripleO::Services::Horizon
    - OS::TripleO::Services::GnocchiApi
    - OS::TripleO::Services::GnocchiMetricd
    - OS::TripleO::Services::GnocchiStatsd
    - OS::TripleO::Services::ManilaApi
    - OS::TripleO::Services::ManilaScheduler
    - OS::TripleO::Services::ManilaBackendGeneric
    - OS::TripleO::Services::ManilaBackendNetapp
    - OS::TripleO::Services::ManilaBackendCephFs
    - OS::TripleO::Services::ManilaShare
    - OS::TripleO::Services::AodhApi
    - OS::TripleO::Services::AodhEvaluator
    - OS::TripleO::Services::AodhNotifier
    - OS::TripleO::Services::AodhListener
    - OS::TripleO::Services::SaharaApi
    - OS::TripleO::Services::SaharaEngine
    - OS::TripleO::Services::IronicApi
    - OS::TripleO::Services::IronicConductor
    - OS::TripleO::Services::NovaIronic
    - OS::TripleO::Services::TripleoPackages
    - OS::TripleO::Services::TripleoFirewall
    - OS::TripleO::Services::OpenDaylightApi
    - OS::TripleO::Services::OpenDaylightOvs
    - OS::TripleO::Services::SensuClient
    - OS::TripleO::Services::FluentdClient
    - OS::TripleO::Services::VipHosts
    - OS::TripleO::Services::Etcd
    - OS::TripleO::Services::Gluon
    - OS::TripleO::Services::Tacker
  ComputeServices:
    - OS::TripleO::Services::CACerts
    - OS::TripleO::Services::CephClient
    - OS::TripleO::Services::CephOSD
    - OS::TripleO::Services::CephExternal
    - OS::TripleO::Services::Timezone
    - OS::TripleO::Services::Ntp
    - OS::TripleO::Services::Snmp
    - OS::TripleO::Services::NovaCompute
    - OS::TripleO::Services::NovaLibvirt
    - OS::TripleO::Services::Kernel
    - OS::TripleO::Services::ComputeNeutronCorePlugin
    - OS::TripleO::Services::ComputeNeutronOvsAgent
    - OS::TripleO::Services::ComputeCeilometerAgent
    - OS::TripleO::Services::ComputeNeutronL3Agent
    - OS::TripleO::Services::ComputeNeutronMetadataAgent
    - OS::TripleO::Services::TripleoPackages
    - OS::TripleO::Services::TripleoFirewall
    - OS::TripleO::Services::NeutronSriovAgent
    - OS::TripleO::Services::OpenDaylightOvs
    - OS::TripleO::Services::SensuClient
    - OS::TripleO::Services::FluentdClient
    - OS::TripleO::Services::VipHosts
ass="nv">sdn_controller_ip}' >> /home/stack/overcloudrc" fi ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI source overcloudrc set -o errexit echo "Configuring Neutron external network" if [[ -n "$external_nic_mapping_compute_vlan" && "$external_nic_mapping_compute_vlan" != 'native' ]]; then neutron net-create external --router:external=True --tenant-id \$(openstack project show service | grep id | awk '{ print \$4 }') --provider:network_type vlan --provider:segmentation_id ${external_nic_mapping_compute_vlan} --provider:physical_network datacentre else neutron net-create external --router:external=True --tenant-id \$(openstack project show service | grep id | awk '{ print \$4 }') fi if [ "$external_network_ipv6" == "True" ]; then neutron subnet-create --name external-net --tenant-id \$(openstack project show service | grep id | awk '{ print \$4 }') external --ip_version 6 --ipv6_ra_mode slaac --ipv6_address_mode slaac --gateway ${external_gateway} --allocation-pool start=${external_floating_ip_range%%,*},end=${external_floating_ip_range##*,} ${external_cidr} else neutron subnet-create --name external-net --tenant-id \$(openstack project show service | grep id | awk '{ print \$4 }') --disable-dhcp external --gateway ${external_gateway} --allocation-pool start=${external_floating_ip_range%%,*},end=${external_floating_ip_range##*,} ${external_cidr} fi echo "Removing sahara endpoint and service" sahara_service_id=\$(openstack service list | grep sahara | cut -d ' ' -f 2) sahara_endpoint_id=\$(openstack endpoint list | grep sahara | cut -d ' ' -f 2) openstack endpoint delete \$sahara_endpoint_id openstack service delete \$sahara_service_id echo "Removing swift endpoint and service" swift_service_id=\$(openstack service list | grep swift | cut -d ' ' -f 2) swift_endpoint_id=\$(openstack endpoint list | grep swift | cut -d ' ' -f 2) openstack endpoint delete \$swift_endpoint_id openstack service delete \$swift_service_id if [ "${deploy_options_array['dataplane']}" == 'fdio' ] || [ "${deploy_options_array['dataplane']}" == 'ovs_dpdk' ]; then for flavor in \$(openstack flavor list -c Name -f value); do echo "INFO: Configuring \$flavor to use hugepage" nova flavor-key \$flavor set hw:mem_page_size=large done fi if [ "${deploy_options_array['congress']}" == 'True' ]; then ds_configs="--config username=\$OS_USERNAME --config tenant_name=\$OS_TENANT_NAME --config password=\$OS_PASSWORD --config auth_url=\$OS_AUTH_URL" for s in nova neutronv2 ceilometer cinder glancev2 keystone; do ds_extra_configs="" if [ "\$s" == "nova" ]; then nova_micro_version=\$(nova version-list | grep CURRENT | awk '{print \$10}') ds_extra_configs+="--config api_version=\$nova_micro_version" fi if openstack congress datasource create \$s "\$s" \$ds_configs \$ds_extra_configs; then echo "INFO: Datasource: \$s created" else echo "WARN: Datasource: \$s could NOT be created" fi done if openstack congress datasource create doctor "doctor"; then echo "INFO: Datasource: doctor created" else echo "WARN: Datsource: doctor could NOT be created" fi fi EOI # for virtual, we NAT external network through Undercloud # same goes for baremetal if only jumphost has external connectivity if [ "$virtual" == "TRUE" ] || ! test_overcloud_connectivity && [ "$external_network_ipv6" != "True" ]; then if ! configure_undercloud_nat ${external_cidr}; then echo -e "${red}ERROR: Unable to NAT undercloud with external net: ${external_cidr}${reset}" exit 1 else echo -e "${blue}INFO: Undercloud VM has been setup to NAT Overcloud external network${reset}" fi fi # for sfc deployments we need the vxlan workaround if [ "${deploy_options_array['sfc']}" == 'True' ]; then ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI source stackrc set -o errexit for node in \$(nova list | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"); do ssh -T ${SSH_OPTIONS[@]} "heat-admin@\$node" <<EOF sudo ifconfig br-int up sudo ip route add 123.123.123.0/24 dev br-int EOF done EOI fi ### VSPERF ### if [[ "${deploy_options_array['vsperf']}" == 'True' ]]; then echo "${blue}\nVSPERF enabled, running build_base_machine.sh\n${reset}" overcloud_connect "compute0" "sudo sh -c 'cd /var/opt/vsperf/systems/ && ./build_base_machine.sh 2>&1 > /var/log/vsperf.log'" fi # Collect deployment logs ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI mkdir -p ~/deploy_logs rm -rf deploy_logs/* source stackrc set -o errexit for node in \$(nova list | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"); do ssh -T ${SSH_OPTIONS[@]} "heat-admin@\$node" <<EOF sudo cp /var/log/messages /home/heat-admin/messages.log sudo chown heat-admin /home/heat-admin/messages.log EOF scp ${SSH_OPTIONS[@]} heat-admin@\$node:/home/heat-admin/messages.log ~/deploy_logs/\$node.messages.log if [ "$debug" == "TRUE" ]; then nova list --ip \$node echo "---------------------------" echo "-----/var/log/messages-----" echo "---------------------------" cat ~/deploy_logs/\$node.messages.log echo "---------------------------" echo "----------END LOG----------" echo "---------------------------" ssh -T ${SSH_OPTIONS[@]} "heat-admin@\$node" <<EOF echo "$node" sudo openstack-status EOF fi ssh -T ${SSH_OPTIONS[@]} "heat-admin@\$node" <<EOF sudo rm -f /home/heat-admin/messages.log EOF done # Print out the undercloud IP and dashboard URL source stackrc echo "Undercloud IP: $UNDERCLOUD, please connect by doing 'opnfv-util undercloud'" echo "Overcloud dashboard available at http://\$(heat output-show overcloud PublicVip | sed 's/"//g')/dashboard" EOI if [[ "$ha_enabled" == 'True' ]]; then if [ "$debug" == "TRUE" ]; then echo "${blue}\nChecking pacemaker service status\n${reset}" fi overcloud_connect "controller0" "for i in \$(sudo pcs status | grep '^* ' | cut -d ' ' -f 2 | cut -d '_' -f 1 | uniq); do echo \"WARNING: Service: \$i not running\"; done" # trozet disable congress in HA until congress bugs are fixed overcloud_connect "controller0" "sudo pcs resource ban openstack-congress overcloud-controller-1; sudo pcs resource ban openstack-congress overcloud-controller-2; sudo systemctl restart openstack-congress" fi }