Unsupported content This version of the documentation is no longer supported. However, the documentation is available for your convenience. You will not be able to leave comments.

Example of container reprovisioning - adding a new NIC


The following examples illustrate the changes that you would make to a network container blueprint to add a new NIC [AccessC] or add a dedicated pod-level network to a sample dynamic container blueprint and reprovision the container.

Warning

With the exception of Network Address Translation (NAT) pool expansion, any networking component added to a blueprint targeted for container reprovisioning must be in a disabled state, otherwise the reprovisioning operation might fail.

To add a new NIC

  1. Update the network container blueprint as follows:
    1. Add the new revision number to the network container blueprint.

                <revisionNum>1</revisionNum>
    2. Add the new address pool blueprint schema.

          <addressPoolBlueprint>
              
      <condition>-EXISTS- container.nicSegments[AccessC]</condition>
              
      <name>AccessC</name>
              
      <rangeBlueprintName>Data</rangeBlueprintName>
          
      </addressPoolBlueprint>
    3. Add the new VLAN blueprint.

         <vlanBlueprint>
             
      <condition>-EXISTS- container.nicSegments[AccessC]</condition>
             
      <vlanName>AccessC</vlanName>
             
      <vlanPoolName>Data</vlanPoolName>
         
      </vlanBlueprint>
    4. Add the new NIC segment blueprint.

         <nicSegmentBlueprint xsi:type="containerNicNetworkSegmentBlueprint" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
             
      <addressPoolName>AccessC</addressPoolName>
             
      <customerFlag>true</customerFlag>
             
      <defaultEnabledFlag>false</defaultEnabledFlag>
             
      <lockedFlag>false</lockedFlag>
             
      <managementFlag>false</managementFlag>
             
      <name>AccessC</name>
             
      <networkName>AccessC</networkName>
             
      <tag>Purpose[Application]</tag>
             
      <vlanName>AccessC</vlanName>
         
      </nicSegmentBlueprint>
    5. Add the new network path blueprint.

         <networkPathBlueprint>
            <endpoint1Name>External</endpoint1Name>
            <endpoint2Name>AccessC</endpoint2Name>
            <name>External-AccessC</name>
        </networkPathBlueprint>
    6. Modify the edge node to specify a gateway address, and configure and unconfigure action items.

         <addressBlueprint>
             
      <addressName>GatewayC</addressName>
             
      <addressPoolName>AccessC</addressPoolName>
             
      <condition>-EXISTS- container.nicSegments[AccessC]</condition>
             
      <gatewayFlag>true</gatewayFlag>
             
      <poolPosition></poolPosition>
         
      </addressBlueprint>

         
      <configureActionInfoBlueprint xsi:type="mergeActionInfoBlueprint" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
             
      <condition>-EXISTS- container.nicSegments[AccessC]</condition>
             
      <name>Edge-C</name>
             
      <templateGroups>
                 
      <item>SampleDynamicConfigureEdge-C</item>
             
      </templateGroups>
         
      </configureActionInfoBlueprint>

         
      <unconfigureActionInfoBlueprint xsi:type="mergeActionInfoBlueprint" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
             
      <name>Edge-C</name>
             
      <templateGroups>
                 
      <item>SampleDynamicUnconfigureEdge-C</item>
             
      </templateGroups>
         
      </unconfigureActionInfoBlueprint>
    7. Modify the hypervisor node to specify the port type, and configure and unconfigure action items for AccessC.

         <configureActionInfoBlueprint xsi:type="mergeActionInfoBlueprint" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
              
      <condition>-EXISTS- container.nicSegments[AccessC]</condition>
              
      <name>Access-C</name>
              
      <templateGroups>
                  
      <item>SampleDynamicConfigureAccess-C</item>
              
      </templateGroups>
         
      </configureActionInfoBlueprint>

         
      <portTypeBlueprint>
              
      <name>AccessC</name>
              
      <nameWithinSwitch>$\{container.node.portTypes[AccessC].vlan}</nameWithinSwitch>
              
      <nicSegmentName>AccessC</nicSegmentName>
         
      </portTypeBlueprint>

         
      <unconfigureActionInfoBlueprint xsi:type="mergeActionInfoBlueprint" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
              
      <name>Access-C</name>
              
      <templateGroups>
                  
      <item>SampleDynamicUnconfigureAccess-C</item>
              
      </templateGroups>
         
      </unconfigureActionInfoBlueprint>
    8. Add the template group SampleDynamicConfigureEdge-C.

         interface vlan${container.vlans[AccessC]}
        ip address
         {container.node.addresses[GatewayC]}&nbsp;${container.node.addresses[GatewayC].subnetMask.CIDR}
        no shutdown
        exit
    9. Add the template group SampleDynamicUnconfigureEdge-C.

         no vlan ${container.vlans[AccessC]}
         
      no interface vlan${container.vlans[AccessC]}
    10. Add the template group SampleDynamicConfigureAccess-C (shown for vswitch).

      port-profile ${container.node.portTypes[AccessC].name}
        switchport mode access
        switchport access vlan ${container.node.portTypes[AccessC].vlan}
        vmware port-group ${container.node.portTypes[AccessC].vlan}
        no shutdown
        state enabled
        exit
    11. Add the template group SampleDynamicUnconfigureAccess-C.

         no port-profile ${container.node.portTypes[AccessC].name}
  2. Import the new blueprint revision into BMC Network Automation by using the import script. See Creating-network-container-blueprints.
  3. From the BMC Cloud Lifecycle Management Administration Console, click the vertical Workspaces menu on the left side of the window and select Resources.
  4. Onboard the revised blueprint.
  5. Under Quick Links on the left, click Network Containers under the General section.
  6. Select the network container you want to reprovision.
  7. Click the Reprovision Network Container icon reprovision_NC.gifto launch the Reprovision Network Container dialog.

    Note

    If there are no changes available for the network container, the following message is displayed: There are no upgraded blueprints available to reprovision the network container. (ARERR 210442).

    The Reprovision Network Container dialog is displayed.
    reprovision_NC_screen.gif

  8. Select the blueprint version to which you want to reprovision the network container.
  9. Click Reprovision.

    Note

    While a network container is being reprovisioned, you cannot modify or delete it. Also, no VMs on this network container can be provisioned or decommissioned during reprovisioning.

  10. Enable the NIC. The newly added NIC segment is in disabled state, so you must follow the reprovision operation by modifying the network container to enable the NIC segment.

To add a dedicated pod-level network

  1. Update the network container blueprint as follows:
    1. Add the new revision number to the network container blueprint.

         <revisionNum>1</revisionNum>
    2. Add the new pod node to the network container blueprint.

      <nodeBlueprint xsi:type="containerHypervisorSwitchBlueprint"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <category>2</category>
      <configureActionInfoBlueprints/>
      <name>ManagementAccessSwitch2</name>
      <role>ManagementAccessSwitch2</role>
      <unconfigureActionInfoBlueprints/>
      <portTypeBlueprints/>
      </nodeBlueprint>
  2. Import the new blueprint revision into BMC Network Automation by using the import script. See Creating-network-container-blueprints.
  3. Follow steps 3 to 9 as explained in the preceding procedure.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*