Hi Lokendra,
Like i said,
> NOTE: when passing --network-config parameter in node provision step, it creates a directory in /etc/os-net-config and in it creates a file 
> config.yaml, do check the indentation of that file. (in my case the indentation was wrong when i was using bonding everytime, so i had to 
> manually change the script and run a while loop and then my node provision step was successful)
this parameter --network-config creates a config.yaml(network config) file in /etc/os-net-config directory in the overcloud nodes and then ansible tries to apply the network config from the generated config file. And in wallaby version if you are using bonding then the syntax in the generated conf is wrong (atleast was in my case) and then the ansible tries to apply the network config (with wrong syntax) so your overcloud nodes become unavailable.

Please run node provision separately, and keep on monitoring "metalsmith list" command. Once IP is assigned to the overcloud nodes, ssh to the nodes and assign a password to heat-admin user so that even if the network becomes unavailable you still will be able to access the nodes via console access, then you can visit /etc/os-net-config directory and verify the config.yaml file.

With regards,
Swogat pradhan.

On Tue, May 31, 2022 at 11:56 PM Lokendra Rathour <lokendrarathour@gmail.com> wrote:
Hi Swogat,
Thanks once again for your input it really helped much. 

instead of running mentioned those three provisioning steps i used alternate method and passed directly in deploy command. now my current deploy command is:
openstack overcloud deploy --templates \
--networks-file /home/stack/templates/custom_network_data.yaml \
    --vip-file /home/stack/templates/custom_vip_data.yaml \
    --baremetal-deployment /home/stack/templates/overcloud-baremetal-deploy.yaml \
    --network-config \
    -e /home/stack/templates/environment.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-conductor.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-inspector.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-overcloud.yaml \
    -e /home/stack/templates/ironic-config.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/docker-ha.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/podman.yaml \
    -e /home/stack/containers-prepare-parameter.yaml
The files as suggested by you are well created.

But once we run the deployment I get this error for all nodes:
 0:00:16.064781 | 1.16s
2022-05-31 19:13:00.276954 | 525400ef-b928-9ded-fecc-000000000094 |       TASK | Run tripleo_os_net_config_module with network_config
2022-05-31 19:40:30.061582 | 525400ef-b928-9ded-fecc-000000000094 |      FATAL | Run tripleo_os_net_config_module with network_config | overcloud-controller-1 | error={"msg": "Data could not be sent to remote host \"30.30.30.117\". Make sure this host can be reached over ssh: ssh: connect to host 30.30.30.117 port 22: No route to host\r\n"}
2022-

Baremetal node list are showing in as active.
(undercloud) [stack@undercloud ~]$ openstack baremetal node list
/usr/lib64/python3.6/site-packages/_yaml/__init__.py:23: DeprecationWarning: The _yaml extension module is now located at yaml._yaml and its location is subject to change.  To use the LibYAML-based parser and emitter, import from `yaml`: `from yaml import CLoader as Loader, CDumper as Dumper`.
  DeprecationWarning
+--------------------------------------+--------+--------------------------------------+-------------+--------------------+-------------+
| UUID                                 | Name   | Instance UUID                        | Power State | Provisioning State | Maintenance |
+--------------------------------------+--------+--------------------------------------+-------------+--------------------+-------------+
| 1a4d873c-f9f7-4504-a3af-92c11f954171 | node-a | 901453a1-183f-4de8-aaab-0f38be2be455 | power on    | active             | False       |
| d18610fc-9532-410c-918e-8efc326c89f8 | node-b | d059b94a-8357-4f8e-a0d8-15a24b0c1afe | power on    | active             | False       |
| b69f2d5a-5b18-4453-8843-15c6af79aca0 | node-c | f196ef3a-7950-47b9-a5ae-751f06b18f75 | power on    | active             | False       |
| 8a38c584-f812-4ebc-a0b1-4299f0917637 | node-d | 1636517c-2ab2-43d7-8205-9f02c5290207 | power on    | active             | False       |
+--------------------------------------+--------+--------------------------------------+-------------+--------------------+-------------+
Some config is missing it seems, please check once and advise. 


On Tue, May 31, 2022 at 11:40 AM Swogat Pradhan <swogatpradhan22@gmail.com> wrote:
Hi Lokendra,
You need to generate another file also in the following step: openstack overcloud node provision   --stack overcloud  --overcloud-ssh-key /home/stack/sshkey/id_rsa overcloud-baremetal-deploy.yaml also you need to pass another parameter --network-config.
example:
openstack overcloud node provision   --stack overcloud --overcloud-ssh-key /home/stack/sshkey/id_rsa --network-config --output overcloud-baremetal-deployed.yaml overcloud-baremetal-deploy.yaml

And then all these output files will be passed on to the openstack overcloud deploy command.
NOTE: when passing --network-config parameter in node provision step, it creates a directory in /etc/os-net-config and in it creates a file config.yaml, do check the indentation of that file. (in my case the indentation was wrong when i was using bondind everytime, so i had to manually change the script and run a while loop and then my node provision step was successful)

On Tue, May 31, 2022 at 8:59 AM Lokendra Rathour <lokendrarathour@gmail.com> wrote:
Hi Swogat,
I tried generating the scripts as used by you in your deployments using the


#openstack overcloud network provision --stack overcloud --output networks-deployed-environment.yaml   custom_network_data.yaml
#  openstack overcloud network vip provision --stack overcloud --output vip-deployed-environment.yaml     custom_vip_data.yaml
# openstack overcloud node provision   --stack overcloud  --overcloud-ssh-key /home/stack/sshkey/id_rsa overcloud-baremetal-deploy.yaml

and used the first two in the final deployment script, but it gives the error:

 heatclient.exc.HTTPInternalServerError: ERROR: Internal Error
2022-05-30 14:14:39.772 479668 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud Traceback (most recent call last):\n', '  File "/usr/lib/python3.6/ted_stack\n    nested_stack.validate()\n', '  File "/usr/lib/python3.6/site-packages/osprofiler/profiler.py", line 160, in wrapper\n    result = f(*args, ine 969, in validate\n    result = res.validate()\n', '  File "/usr/lib/python3.6/site-packages/heat/engine/resources/openstack/neutron/port.py", line 454site-packages/heat/engine/resources/openstack/neutron/neutron.py", line 43, in validate\n    res = super(NeutronResource, self).validate()\n', '  File "/un    return self.validate_template()\n', '  File "/usr/lib/python3.6/site-packages/heat/engine/resource.py", line 1882, in validate_template\n    self.t.rpy", line 200, in _validate_service_availability\n    raise ex\n', 'heat.common.exception.ResourceTypeUnavailable: HEAT-E99001 Service neutron is not avaieutron network endpoint is not in service catalog.\n', '\nDuring handling of the above exception, another exception occurred:\n\n', 'Traceback (most recens/stack_resource.py", line 75, in validate_nested_stack\n    nested_stack.validate()\n', '  File "/usr/lib/python3.6/site-packages/osprofiler/profiler.py"thon3.6/site-packages/heat/engine/stack.py", line 969, in validate\n    result = res.validate()\n', '  File "/usr/lib/python3.6/site-packages/heat/engine/ateResource, self).validate()\n', '  File "/usr/lib/python3.6/site-packages/heat/engine/resources/stack_resource.py", line 65, in validate\n    self.validources/stack_resource.py", line 81, in validate_nested_stack\n    ex, path=[self.stack.t.RESOURCES, path])\n', 'heat.common.exception.StackValidationFaileeploy/overcloud/tripleo-heat-templates/deployed-server/deployed-server.yaml>: HEAT-E99001 Service neutron is not available for resource type OS::TripleO::vice catalog.\n', '\nDuring handling of the above exception, another exception occurred:\n\n', 'Traceback (most recent call last):\n', '  File "/usr/lib/pline 320, in validate_nested_stack\n    nested_stack.validate()\n', '  File "/usr/lib/python3.6/site-packages/osprofiler/profiler.py", line 160, in wrappe/heat/engine/stack.py", line 969, in validate\n    result = res.validate()\n', '  File "/usr/lib/python3.6/site-packages/heat/engine/resources/template_relidate()\n', '  File "/usr/lib/python3.6/site-packages/heat/engine/resources/stack_resource.py", line 65, in validate\n    self.validate_nested_stack()\n'.py", line 81, in validate_nested_stack\n    ex, path=[self.stack.t.RESOURCES, path])\n', 'heat.common.exception.StackValidationFailed: ResourceTypeUnavaimplates/puppet/compute-role.yaml>.resources.NovaCompute<file:///home/stack/overcloud-deploy/overcloud/tripleo-heat-templates/deployed-server/deployed-servpleO::DeployedServer::ControlPlanePort, reason: neutron network endpoint is not in service catalog.\n', '\nDuring handling of the above exception, another/lib/python3.6/site-packages/heat/common/context.py", line 416, in wrapped\n    return func(self, ctx, *args, **kwargs)\n', '  File "/usr/lib/python3.6/sirce_name, template_id)\n', '  File "/usr/lib/python3.6/site-packages/heat/engine/service.py", line 756, in _parse_template_and_validate_stack\n    stack.v line 160, in wrapper\n    result = f(*args, **kwargs)\n', '  File "/usr/lib/python3.6/site-packages/heat/engine/stack.py", line 969, in validate\n    resesources/stack_resource.py", line 65, in validate\n    self.validate_nested_stack()\n', '  File "/usr/lib/python3.6/site-packages/heat/engine/resources/oph=[self.stack.t.RESOURCES, path])\n', 'heat.common.exception.StackValidationFailed: ResourceTypeUnavailable: resources.Compute<nested_stack>.resources.0<fte-role.yaml>.resources.NovaCompute<file:///home/stack/overcloud-deploy/overcloud/tripleo-heat-templates/deployed-server/deployed-server.yaml>: HEAT-E9900::ControlPlanePort, reason: neutron network endpoint is not in service catalog.\n'].

Request you to check once, please. 




On Mon, May 30, 2022 at 11:06 AM Lokendra Rathour <lokendrarathour@gmail.com> wrote:
Hi Swogat,
Thanks once again. 

with the files as shown below I am running the overcloud deploy for wallaby using this command:

(undercloud) [stack@undercloud ~]$ cat deploy_overcloud_working_1.sh
openstack overcloud deploy --templates \
    -n /home/stack/templates/network_data.yaml \
    -r /home/stack/templates/roles_data.yaml \
    -e /home/stack/templates/environment.yaml \
    -e /home/stack/templates/environments/network-isolation.yaml \
    -e /home/stack/templates/environments/network-environment.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-conductor.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-inspector.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-overcloud.yaml \
    -e /home/stack/templates/ironic-config.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/docker-ha.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/podman.yaml \
    -e /home/stack/containers-prepare-parameter.yaml
(undercloud) [stack@undercloud ~]$

This deployment is on ipv6 using triple0 wallaby, templates, as mentioned below, are generated using rendering steps and the network_data.yaml the roles_data.yaml
Steps used to render the templates:
 cd /usr/share/openstack-tripleo-heat-templates/
./tools/process-templates.py -o ~/openstack-tripleo-heat-templates-rendered_at_wallaby -n /home/stack/templates/network_data.yaml -r /home/stack/templates/roles_data.yaml

Now if i try adding the related to VIP port I do get the error as:

2022-05-30 10:37:12.792 979387 WARNING tripleoclient.v1.overcloud_deploy.DeployOvercloud [-] rendering j2 template to file: /home/stack/overcloud-deploy/overcloud/tripleo-heat-templates/puppet/controller-role.yaml
2022-05-30 10:37:12.792 979387 WARNING tripleoclient.v1.overcloud_deploy.DeployOvercloud [-] rendering j2 template to file: /home/stack/overcloud-deploy/overcloud/tripleo-heat-templates/puppet/compute-role.yaml
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud [-] Exception occured while running the command: ValueError: The environment is not a valid YAML mapping data type.
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud Traceback (most recent call last):
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud   File "/usr/lib/python3.6/site-packages/tripleoclient/command.py", line 34, in run
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud     super(Command, self).run(parsed_args)
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud   File "/usr/lib/python3.6/site-packages/osc_lib/command/command.py", line 39, in run
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud     return super(Command, self).run(parsed_args)
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud   File "/usr/lib/python3.6/site-packages/cliff/command.py", line 185, in run
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud     return_code = self.take_action(parsed_args) or 0
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud   File "/usr/lib/python3.6/site-packages/tripleoclient/v1/overcloud_deploy.py", line 1189, in take_action
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud     stack, parsed_args, new_tht_root, user_tht_root)
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud   File "/usr/lib/python3.6/site-packages/tripleoclient/v1/overcloud_deploy.py", line 227, in create_env_files
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud     created_env_files, parsed_args, new_tht_root, user_tht_root)
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud   File "/usr/lib/python3.6/site-packages/tripleoclient/v1/overcloud_deploy.py", line 204, in build_image_params
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud     cleanup=(not parsed_args.no_cleanup))
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud   File "/usr/lib/python3.6/site-packages/tripleoclient/utils.py", line 1929, in process_multiple_environments
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud     env_path=env_path, include_env_in_files=include_env_in_files)
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud   File "/usr/lib/python3.6/site-packages/heatclient/common/template_utils.py", line 326, in process_environment_and_files
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud     env = environment_format.parse(raw_env)
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud   File "/usr/lib/python3.6/site-packages/heatclient/common/environment_format.py", line 50, in parse
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud     raise ValueError(_('The environment is not a valid '
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud ValueError: The environment is not a valid YAML mapping data type.
2022-05-30 10:37:14.455 979387 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud
2022-05-30 10:37:14.457 979387 ERROR openstack [-] The environment is not a valid YAML mapping data type.
2022-05-30 10:37:14.457 979387 INFO osc_lib.shell [-] END return value: 1
(undercloud) [stack@undercloud ~]$

This is more of a syntax error where it is not able to understand the passed VIP data file:
undercloud) [stack@undercloud ~]$ cat /home/stack/templates/vip-data-default-network-isolation.yaml
-
  dns_name: overcloud
  network: internal_api
-
  dns_name: overcloud
  network: external
-
  dns_name: overcloud
  network: ctlplane
-
  dns_name: overcloud
  network: oc_provisioning
-
  dns_name: overcloud
  network: j3mgmt

Please advise, also please note that similar templates generated in prior releases such as train/ussuri works perfectly.



Please check the list of templates files:

drwxr-xr-x. 2 stack stack    68 May 30 09:22 environments
-rw-r--r--. 1 stack stack   265 May 27 13:47 environment.yaml
-rw-rw-r--. 1 stack stack   297 May 27 13:47 init-repo.yaml
-rw-r--r--. 1 stack stack   570 May 27 13:47 ironic-config.yaml
drwxrwxr-x. 4 stack stack  4096 May 27 13:53 network
-rw-r--r--. 1 stack stack  6370 May 27 14:26 network_data.yaml
-rw-r--r--. 1 stack stack 11137 May 27 13:53 roles_data.yaml
-rw-r--r--. 1 stack stack   234 May 30 09:23 vip-data-default-network-isolation.yaml


(undercloud) [stack@undercloud templates]$ cat environment.yaml
parameter_defaults:
  OvercloudControllerFlavor: control
  OvercloudComputeFlavor: compute
  ControllerCount: 3
  ComputeCount: 1
  TimeZone: 'Asia/Kolkata'
  NtpServer: ['30.30.30.3']
  NeutronBridgeMappings: datacentre:br-tenant
  NeutronFlatNetworks: datacentre
(undercloud) [stack@undercloud templates]$


(undercloud) [stack@undercloud templates]$ cat ironic-config.yaml
parameter_defaults:
    NovaSchedulerDefaultFilters:
        - AggregateInstanceExtraSpecsFilter
        - AvailabilityZoneFilter
        - ComputeFilter
        - ComputeCapabilitiesFilter
        - ImagePropertiesFilter
    IronicEnabledHardwareTypes:
        - ipmi
        - redfish
    IronicEnabledPowerInterfaces:
        - ipmitool
        - redfish
    IronicEnabledManagementInterfaces:
        - ipmitool
        - redfish
    IronicCleaningDiskErase: metadata
    IronicIPXEEnabled: true
    IronicInspectorSubnets:
    - ip_range: 172.23.3.100,172.23.3.150
(undercloud) [stack@undercloud templates]$ cat network_data.yaml

- name: J3Mgmt
  name_lower: j3mgmt
  vip: true
  vlan: 400
  ipv6: true
  ipv6_subnet: 'fd80:fd00:fd00:4000::/64'
  ipv6_allocation_pools: [{'start': 'fd80:fd00:fd00:4000::10', 'end': 'fd80:fd00:fd00:4000:ffff:ffff:ffff:fffe'}]
  mtu: 9000


- name: InternalApi
  name_lower: internal_api
  vip: true
  vlan: 418
  ipv6: true
  ipv6_subnet: 'fd00:fd00:fd00:2000::/64'
  ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
  mtu: 9000

- name: External
  vip: true
  name_lower: external
  vlan: 408
  ipv6: true
  gateway_ipv6: 'fd00:fd00:fd00:9900::1'
  ipv6_subnet: 'fd00:fd00:fd00:9900::/64'
  ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:9900::10', 'end': 'fd00:fd00:fd00:9900:ffff:ffff:ffff:fffe'}]
  mtu: 9000

- name: OCProvisioning
  vip: true
  name_lower: oc_provisioning
  vlan: 412
  ip_subnet: '172.23.3.0/24'
  allocation_pools: [{'start': '172.23.3.10', 'end': '172.23.3.50'}]
  mtu: 9000



(undercloud) [stack@undercloud templates]$ cat roles_data.yaml
###############################################################################
# File generated by TripleO
###############################################################################
###############################################################################
# Role: Controller                                                            #
###############################################################################
- name: Controller
  description: |
    Controller role that has all the controller services loaded and handles
    Database, Messaging, and Network functions.
  CountDefault: 1
  tags:
    - primary
    - controller
    # Create external Neutron bridge for SNAT (and floating IPs when using
    # ML2/OVS without DVR)
    - external_bridge
  networks:
    External:
      subnet: external_subnet
    InternalApi:
      subnet: internal_api_subnet
    OCProvisioning:
      subnet: oc_provisioning_subnet
    J3Mgmt:
      subnet: j3mgmt_subnet

  # For systems with both IPv4 and IPv6, you may specify a gateway network for
  # each, such as ['ControlPlane', 'External']
  default_route_networks: ['External']
  HostnameFormatDefault: '%stackname%-controller-%index%'
  RoleParametersDefault:
    OVNCMSOptions: "enable-chassis-as-gw"
  # Deprecated & backward-compatible values (FIXME: Make parameters consistent)
  # Set uses_deprecated_params to True if any deprecated params are used.
  uses_deprecated_params: True
  deprecated_param_extraconfig: 'controllerExtraConfig'
  deprecated_param_flavor: 'OvercloudControlFlavor'
  deprecated_param_image: 'controllerImage'
  deprecated_nic_config_name: 'controller.yaml'
  update_serial: 1
  ServicesDefault:
    - OS::TripleO::Services::Aide
    - OS::TripleO::Services::AodhApi
    - OS::TripleO::Services::AodhEvaluator

..
.
..###############################################################################
# Role: Compute                                                               #
###############################################################################
- name: Compute
  description: |
    Basic Compute Node role
  CountDefault: 1
  # Create external Neutron bridge (unset if using ML2/OVS without DVR)
  tags:
    - compute
    - external_bridge
  networks:
    InternalApi:
      subnet: internal_api_subnet
    J3Mgmt:
      subnet: j3mgmt_subnet
  HostnameFormatDefault: '%stackname%-novacompute-%index%'
  RoleParametersDefault:
    FsAioMaxNumber: 1048576
    TunedProfileName: "virtual-host"
  # Deprecated & backward-compatible values (FIXME: Make parameters consistent)
  # Set uses_deprecated_params to True if any deprecated params are used.
  # These deprecated_params only need to be used for existing roles and not for
  # composable roles.
  uses_deprecated_params: True
  deprecated_param_image: 'NovaImage'
  deprecated_param_extraconfig: 'NovaComputeExtraConfig'
  deprecated_param_metadata: 'NovaComputeServerMetadata'
  deprecated_param_scheduler_hints: 'NovaComputeSchedulerHints'
  deprecated_param_ips: 'NovaComputeIPs'
  deprecated_server_resource_name: 'NovaCompute'
  deprecated_nic_config_name: 'compute.yaml'
  update_serial: 25
  ServicesDefault:
    - OS::TripleO::Services::Aide
    - OS::TripleO::Services::AuditD
    - OS::TripleO::Services::BootParams

(undercloud) [stack@undercloud templates]$ cat environments/network-environment.yaml
#This file is an example of an environment file for defining the isolated
#networks and related parameters.
resource_registry:
  # Network Interface templates to use (these files must exist). You can
  # override these by including one of the net-*.yaml environment files,
  # such as net-bond-with-vlans.yaml, or modifying the list here.
  # Port assignments for the Controller
  OS::TripleO::Controller::Net::SoftwareConfig: OS::Heat::None
  # Port assignments for the Compute
  OS::TripleO::Compute::Net::SoftwareConfig: OS::Heat::None

parameter_defaults:
  # This section is where deployment-specific configuration is done
  #
  ServiceNetMap:
    IronicApiNetwork: oc_provisioning
    IronicNetwork: oc_provisioning


  # This section is where deployment-specific configuration is done
  ControllerNetworkConfigTemplate: 'templates/bonds_vlans/bonds_vlans.j2'
  ComputeNetworkConfigTemplate: 'templates/bonds_vlans/bonds_vlans.j2'


  # Customize the IP subnet to match the local environment
  J3MgmtNetCidr: 'fd80:fd00:fd00:4000::/64'
  # Customize the IP range to use for static IPs and VIPs
  J3MgmtAllocationPools: [{'start': 'fd80:fd00:fd00:4000::10', 'end': 'fd80:fd00:fd00:4000:ffff:ffff:ffff:fffe'}]
  # Customize the VLAN ID to match the local environment
  J3MgmtNetworkVlanID: 400


  # Customize the IP subnet to match the local environment
  InternalApiNetCidr: 'fd00:fd00:fd00:2000::/64'
  # Customize the IP range to use for static IPs and VIPs
  InternalApiAllocationPools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
  # Customize the VLAN ID to match the local environment
  InternalApiNetworkVlanID: 418


  # Customize the IP subnet to match the local environment
  ExternalNetCidr: 'fd00:fd00:fd00:9900::/64'
  # Customize the IP range to use for static IPs and VIPs
  # Leave room if the external network is also used for floating IPs
  ExternalAllocationPools: [{'start': 'fd00:fd00:fd00:9900::10', 'end': 'fd00:fd00:fd00:9900:ffff:ffff:ffff:fffe'}]
  # Gateway router for routable networks
  ExternalInterfaceDefaultRoute: 'fd00:fd00:fd00:9900::1'
  # Customize the VLAN ID to match the local environment
  ExternalNetworkVlanID: 408


  # Customize the IP subnet to match the local environment
  OCProvisioningNetCidr: '172.23.3.0/24'
  # Customize the IP range to use for static IPs and VIPs
  OCProvisioningAllocationPools: [{'start': '172.23.3.10', 'end': '172.23.3.50'}]
  # Customize the VLAN ID to match the local environment
  OCProvisioningNetworkVlanID: 412


  # List of Neutron network types for tenant networks (will be used in order)
  NeutronNetworkType: 'geneve,vlan'
  # Neutron VLAN ranges per network, for example 'datacentre:1:499,tenant:500:1000':
  NeutronNetworkVLANRanges: 'datacentre:1:1000'
  # Customize bonding options, e.g. "mode=4 lacp_rate=1 updelay=1000 miimon=100"
  # for Linux bonds w/LACP, or "bond_mode=active-backup" for OVS active/backup.
  BondInterfaceOvsOptions: "bond_mode=active-backup"
(undercloud) [stack@undercloud templates]$


(undercloud) [stack@undercloud templates]$ cat environments/network-isolation.yaml
# NOTE: This template is now deprecated, and is only included for compatibility
# when upgrading a deployment where this template was originally used. For new
# deployments, set "ipv6: true" on desired networks in network_data.yaml, and
# include network-isolation.yaml.
#
# Enable the creation of Neutron networks for isolated Overcloud
# traffic and configure each role to assign ports (related
# to that role) on these networks.
resource_registry:
  # networks as defined in network_data.yaml
  OS::TripleO::Network::J3Mgmt: ../network/j3mgmt_v6.yaml
  OS::TripleO::Network::InternalApi: ../network/internal_api_v6.yaml
  OS::TripleO::Network::External: ../network/external_v6.yaml
  OS::TripleO::Network::OCProvisioning: ../network/oc_provisioning.yaml

  # Port assignments for the VIPs
  OS::TripleO::Network::Ports::J3MgmtVipPort: ../network/ports/j3mgmt_v6.yaml
  OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api_v6.yaml
  OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external_v6.yaml
  OS::TripleO::Network::Ports::OCProvisioningVipPort: ../network/ports/oc_provisioning.yaml


  # Port assignments by role, edit role definition to assign networks to roles.
  # Port assignments for the Controller
  OS::TripleO::Controller::Ports::J3MgmtPort: ../network/ports/j3mgmt_v6.yaml
  OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_v6.yaml
  OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external_v6.yaml
  OS::TripleO::Controller::Ports::OCProvisioningPort: ../network/ports/oc_provisioning.yaml
  # Port assignments for the Compute
  OS::TripleO::Compute::Ports::J3MgmtPort: ../network/ports/j3mgmt_v6.yaml
  OS::TripleO::Compute::Ports::InternalApiPort: ../network/ports/internal_api_v6.yaml


parameter_defaults:
  # Enable IPv6 environment for Manila
  ManilaIPv6: True
(undercloud) [stack@undercloud templates]$









On Tue, May 24, 2022 at 5:04 PM Lokendra Rathour <lokendrarathour@gmail.com> wrote:
Thanks, I'll check them out. 
will let you know in case it works out.

On Tue, May 24, 2022 at 2:37 PM Swogat Pradhan <swogatpradhan22@gmail.com> wrote:
Hi,
Please find the below templates:
These are for openstack wallaby release:

(undercloud) [stack@hkg2director workplace]$ cat custom_network_data.yaml
- name: Storage
  name_lower: storage
  vip: true
  mtu: 1500
  subnets:
    storage_subnet:
      ip_subnet: 172.25.202.0/26
      allocation_pools:
        - start: 172.25.202.6
          end: 172.25.202.20
      vlan: 1105
- name: StorageMgmt
  name_lower: storage_mgmt
  vip: true
  mtu: 1500
  subnets:
    storage_mgmt_subnet:
      ip_subnet: 172.25.202.64/26
      allocation_pools:
        - start: 172.25.202.72
          end: 172.25.202.87
      vlan: 1106
- name: InternalApi
  name_lower: internal_api
  vip: true
  mtu: 1500
  subnets:
    internal_api_subnet:
      ip_subnet: 172.25.201.192/26
      allocation_pools:
        - start: 172.25.201.198
          end: 172.25.201.212
      vlan: 1104
- name: Tenant
  vip: false  # Tenant network does not use VIPs
  mtu: 1500
  name_lower: tenant
  subnets:
    tenant_subnet:
      ip_subnet: 172.25.202.128/26
      allocation_pools:
        - start: 172.25.202.135
          end: 172.25.202.150
      vlan: 1108
- name: External
  name_lower: external
  vip: true
  mtu: 1500
  subnets:
    external_subnet:
      ip_subnet: 172.25.201.128/26
      allocation_pools:
        - start: 172.25.201.135
          end: 172.25.201.150
      gateway_ip: 172.25.201.129
      vlan: 1103

(undercloud) [stack@hkg2director workplace]$ cat custom_vip_data.yaml
- network: ctlplane
  #dns_name: overcloud
  ip_address: 172.25.201.91
  subnet: ctlplane-subnet
- network: external
  #dns_name: overcloud
  ip_address: 172.25.201.150
  subnet: external_subnet
- network: internal_api
  #dns_name: overcloud
  ip_address: 172.25.201.250
  subnet: internal_api_subnet
- network: storage
  #dns_name: overcloud
  ip_address: 172.25.202.50
  subnet: storage_subnet
- network: storage_mgmt
  #dns_name: overcloud
  ip_address: 172.25.202.90
  subnet: storage_mgmt_subnet

(undercloud) [stack@hkg2director workplace]$ cat overcloud-baremetal-deploy.yaml
- name: Controller
  count: 4
  defaults:
    networks:
    - network: ctlplane
      vif: true
    - network: external
      subnet: external_subnet
    - network: internal_api
      subnet: internal_api_subnet
    - network: storage
      subnet: storage_subnet
    - network: storage_mgmt
      subnet: storage_mgmt_subnet
    - network: tenant
      subnet: tenant_subnet
    network_config:
      template: /home/stack/templates/controller.j2
      default_route_network:
      - external
  instances:
  - hostname: overcloud-controller-0
    name: dc1-controller2
    #provisioned: false
  - hostname: overcloud-controller-1
    name: dc2-controller2
    #provisioned: false
  - hostname: overcloud-controller-2
    name: dc1-controller1
    #provisioned: false
  - hostname: overcloud-controller-no-ceph-3
    name: dc2-ceph2
    #provisioned: false
    #- hostname: overcloud-controller-3
    #name: dc2-compute3
    #provisioned: false

- name: Compute
  count: 5
  defaults:
    networks:
    - network: ctlplane
      vif: true
    - network: internal_api
      subnet: internal_api_subnet
    - network: tenant
      subnet: tenant_subnet
    - network: storage
      subnet: storage_subnet
    network_config:
      template: /home/stack/templates/compute.j2
  instances:
  - hostname: overcloud-novacompute-0
    name: dc2-compute1
    #provisioned: false
  - hostname: overcloud-novacompute-1
    name: dc2-ceph1
    #provisioned: false
  - hostname: overcloud-novacompute-2
    name: dc1-compute1
    #provisioned: false
  - hostname: overcloud-novacompute-3
    name: dc1-compute2
    #provisioned: false
  - hostname: overcloud-novacompute-4
    name: dc2-compute3
    #provisioned: false

- name: CephStorage
  count: 4
  defaults:
    networks:
    - network: ctlplane
      vif: true
    - network: internal_api
      subnet: internal_api_subnet
    - network: storage
      subnet: storage_subnet
    - network: storage_mgmt
      subnet: storage_mgmt_subnet
    network_config:
      template: /home/stack/templates/ceph-storage.j2
  instances:
  - hostname: overcloud-cephstorage-0
    name: dc2-controller1
    #provisioned: false
    #  - hostname: overcloud-cephstorage-1
    #    name: dc2-ceph2
  - hostname: overcloud-cephstorage-1
    name: dc1-ceph1
    # provisioned: false
  - hostname: overcloud-cephstorage-2
    name: dc1-ceph2
    #provisioned: false
  - hostname: overcloud-cephstorage-3
    name: dc2-compute2
    #provisioned: false


You must use these templates to provision network, vip and nodes.
You must use the output files generated during the provisioning step in openstack overcloud deploy command using -e parameter.

With regards,
Swogat Pradhan


On Mon, May 23, 2022 at 8:33 PM Lokendra Rathour <lokendrarathour@gmail.com> wrote:
Hi Swogat,
I tried checking your solution and my templates but could not relate much.
But issue seems the same

I tried somemore ways but looks like some issue with templates.
Can you please share the templates used to deploy the overcloud.

Mysetup have 3 controller and 1 compute.

Thanks once again for reading my mail.

Waiting for your reply.

-Lokendra 

On Fri, 20 May 2022, 08:25 Swogat Pradhan, <swogatpradhan22@gmail.com> wrote:
Hi,
Yes I was able to find the issue and fix it.
The issue was with the overcloud-baremetal-deployed.yaml file i was trying to provision controller-0, controller-1 and controller-3 and kept controller-2 aside for later, but the tripleo scripts are built in such a way that they were taking controller- 0, 1 and 2 inplace of controller-3, so the network ports and vip were created for controller 0,1 and 2 but not for 3 , so this error was popping off. Also i would request you to check the jinja nic templates and once the node provisioning is done check the /etc/os-net-config/config.json/yaml file for syntax if using bonded nic template.
If you need any more infor please let me know.

With regards,
Swogat Pradhan



On Fri, May 20, 2022 at 8:01 AM Lokendra Rathour <lokendrarathour@gmail.com> wrote:
Hi Swogat,
Thanks for raising this issue. 
Did you find any solution? to this problem ?

Please let me know it might be helpful


On Tue, Apr 19, 2022 at 12:43 PM Swogat Pradhan <swogatpradhan22@gmail.com> wrote:
Hi,
I am currently trying to deploy openstack wallaby using tripleo arch.
I created the network jinja templates, ran the following commands also:

#openstack overcloud network provision --stack overcloud --output networks-deployed-environment.yaml   custom_network_data.yaml
#  openstack overcloud network vip provision --stack overcloud --output vip-deployed-environment.yaml     custom_vip_data.yaml
# openstack overcloud node provision   --stack overcloud  --overcloud-ssh-key /home/stack/sshkey/id_rsa overcloud-baremetal-deploy.yaml

and used the environment files in the openstack overcloud deploy command:

(undercloud) [stack@hkg2director ~]$ cat deploy.sh
#!/bin/bash
THT=/usr/share/openstack-tripleo-heat-templates/
CNF=/home/stack/
openstack overcloud deploy  --templates $THT \
-r $CNF/templates/roles_data.yaml \
-n $CNF/workplace/custom_network_data.yaml \
-e ~/containers-prepare-parameter.yaml \
-e $CNF/templates/node-info.yaml \
-e $CNF/templates/scheduler-hints.yaml \
-e $CNF/workplace/networks-deployed-environment.yaml \
-e $CNF/workplace/vip-deployed-environment.yaml \
-e $CNF/workplace/overcloud-baremetal-deployed.yaml \
-e $CNF/workplace/custom-net-bond-with-vlans.yaml

Now when i run the ./deploy.sh script i encounter an error stating:

ERROR openstack [-] Resource OS::TripleO::Network::Ports::ControlPlaneVipPort maps to type OS::Neutron::Port and the Neutron service is not available when using ephemeral Heat. The generated environments from 'openstack overcloud baremetal provision' and 'openstack overcloud network provision' must be included with the deployment command.: tripleoclient.exceptions.InvalidConfiguration: Resource OS::TripleO::Network::Ports::ControlPlaneVipPort maps to type OS::Neutron::Port and the Neutron service is not available when using ephemeral Heat. The generated environments from 'openstack overcloud baremetal provision' and 'openstack overcloud network provision' must be included with the deployment command.
2022-04-19 13:47:16.582 735924 INFO osc_lib.shell [-] END return value: 1

Can someone tell me where the mistake is?

With regards,
Swogat Pradhan






--
~ Lokendra
skype: lokendrarathour