Unsupported content This version of the product has reached end of support. The documentation is available for your convenience. However, you must be logged in to access it. You will not be able to leave comments.

Example of container reprovisioning - adding a new NIC


The following example illustrates the changes that you would make to a network container blueprint to add a new NIC [AccessC] 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. Optionally, select Restricted mode. Selecting this option prevents the addition or deletion of any components (such as firewalls, load balancers, and so on) that cannot be rolled back at a later time. If this option is selected, and the container blueprint contains components that cannot be rolled back, then the reprovision operation will not be allowed. If you do not select the option, you risk reprovisioning the network container into a non-recoverable state. For more information see Restricted Reprovisioning Mode.
  10. 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.

  11. 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.

 

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