- Create additional NIC on virtual deployment if API network is enabled.
- Include API network in clean
- Change keystone admin api network to admin network. This should have
no effect when api network is disabled, as today's behavior is to
fall back to admin network anyway. However, when api network is
defined, we need to be able to reach overcloud from undercloud through
keystone admin api network.
Change-Id: Ib0aea4a0daeed5878793530c10d8f8a1bbe5fd72
Signed-off-by: Feng Pan <fpan@redhat.com>
CinderIscsiNetwork: storage
GlanceApiNetwork: storage
GlanceRegistryNetwork: internal_api
- KeystoneAdminApiNetwork: internal_api
+ KeystoneAdminApiNetwork: ctlplane
KeystonePublicApiNetwork: internal_api
NeutronApiNetwork: internal_api
HeatApiNetwork: internal_api
vm_index=4
ovs_bridges="br-admin br-private br-public br-storage"
-OPNFV_NETWORK_TYPES="admin_network private_network public_network storage_network"
+OPNFV_NETWORK_TYPES="admin_network private_network public_network storage_network api_network"
# Clean off instack/undercloud VM
for vm in instack undercloud; do
virsh net-list --all | grep -E "default\s+active\s+yes" > /dev/null || virsh net-autostart --network default
if [[ -z "$virtual" || "$virtual" == "FALSE" ]]; then
- for network in ${OPNFV_NETWORK_TYPES}; do
+ for network in ${enabled_network_list}; do
echo "${blue}INFO: Creating Virsh Network: $network & OVS Bridge: ${NET_MAP[$network]}${reset}"
ovs-vsctl list-br | grep "^${NET_MAP[$network]}$" > /dev/null || ovs-vsctl add-br ${NET_MAP[$network]}
virsh net-list --all | grep $network > /dev/null || (cat > ${libvirt_dir}/apex-virsh-net.xml && virsh net-define ${libvirt_dir}/apex-virsh-net.xml) << EOF
for i in $(seq 0 $vm_index); do
if ! virsh list --all | grep baremetal${i} > /dev/null; then
define_vm baremetal${i} network 41 'admin_network' $vcpus $ramsize
- for n in private_network public_network storage_network; do
+ for n in private_network public_network storage_network api_network; do
if [[ $enabled_network_list =~ $n ]]; then
echo -n "$n "
virsh attach-interface --domain baremetal${i} --type network --source $n --model rtl8139 --config
'OS::TripleO::Network::Ports::StorageVipPort': PORTS,
'OS::TripleO::Controller::Ports::StoragePort': PORTS,
'OS::TripleO::Compute::Ports::StoragePort': PORTS}
+API_RESOURCES = {'OS::TripleO::Network::InternalApi': None,
+ 'OS::TripleO::Network::Ports::InternalApiVipPort': PORTS,
+ 'OS::TripleO::Controller::Ports::InternalApiPort': PORTS,
+ 'OS::TripleO::Compute::Ports::InternalApiPort': PORTS}
class NetworkEnvironment:
if prefix is None:
prefix = ''
self.netenv_obj[reg][key] = tht_dir + prefix + postfix
+
+ if constants.API_NETWORK in enabled_networks:
+ api_range = net_settings[constants.API_NETWORK][
+ 'usable_ip_range'].split(',')
+ self.netenv_obj[param_def]['InternalApiAllocationPools'] = \
+ [{'start':
+ api_range[0],
+ 'end':
+ api_range[1]
+ }]
+ api_cidr = net_settings[constants.API_NETWORK]['cidr']
+ self.netenv_obj[param_def]['InternalApiNetCidr'] = str(api_cidr)
+ postfix = '/internal_api.yaml'
+ else:
+ postfix = '/noop.yaml'
+
+ for key, prefix in API_RESOURCES.items():
+ if prefix is None:
+ prefix = ''
+ self.netenv_obj[reg][key] = tht_dir + prefix + postfix
+
return self.netenv_obj
def get_netenv_settings(self):