I myself has quite limited experience about networking v2 thing we have in wallaby
but I roughly guess you need to include environments/deployed-server-deployed-neutron-ports.yaml to
disable Neutron resource associated with that vip resource by default.

On Thu, May 19, 2022 at 7:41 PM Anirudh Gupta <anyrude10@gmail.com> wrote:
Hi Takashi

Did you get a chance to look into the wallaby issue which we are facing?

Request you to please provide some pointers to move ahead?

Regards
Anirudh Gupta



On Wed, May 18, 2022 at 1:20 PM Anirudh Gupta <anyrude10@gmail.com> wrote:
Hi Takashi,

Thanks for your reply. We had initially started with a Wallaby release only, but we faced some issues even without PTP which did not get resolved and ultimately we had to come back to Train.

Can you look into the issue and suggest some pointer, so that we can come back on wallaby

heat.common.exception.ResourceTypeUnavailable: HEAT-E99001 Service neutron
> is not available for resource type
> OS::TripleO::Network::Ports::ControlPlaneVipPort, reason: neutron network
> endpoint is not in service catalog.
The issue was also posted on the Openstack Discuss Forum.


Regards
Anirudh Gupta

On Mon, May 16, 2022 at 8:17 PM Takashi Kajinami <tkajinam@redhat.com> wrote:
If my observations are correct, there are two bugs causing the error and there is no feasible workaround.

1. puppet-tripleo is not parsing output of the os-net-config command properly.
2. os-net-config it is not formatting the dict value properly and the output can't be parsed by json decoder.

I've reported the 2nd bug here.

Once the 2nd bug is fixed in master and stable branches back to train, then we'd be able to consider
how we can implement a proper parsing but I can't guarantee any timeline atm.

The puppet implementation was replaced by ansible and is no longer used in recent versions like
wallaby and the above problems do not exist.  It might be an option to try ptp deployment in Wallaby.

On Mon, May 16, 2022 at 9:18 PM Anirudh Gupta <anyrude10@gmail.com> wrote:
Hi Takashi

Could you infer anything from the output and the issue being faced?

Is it because the output has keys and values as string? Any workaround to resolve this issue?

Regards
Anirudh

On Fri, 13 May, 2022, 11:15 Anirudh Gupta, <anyrude10@gmail.com> wrote:
Hi Takashi,

Thanks for your reply.

I tried executing the suggested command and below is the output

[heat-admin@overcloud-controller-1 ~]$ /bin/os-net-config -i eno1
{'eno1': 'eno1'}

Regards
Anirudh Gupta

On Thu, May 12, 2022 at 11:03 AM Takashi Kajinami <tkajinam@redhat.com> wrote:
The puppy implementation executes the following command to get the interface information.
  /bin/os-net-config -i <interface name>
I'd recommend you check the command output in all overcloud nodes .

If you need to use different interfaces for different roles then you need to define the parameter
as role specific one, defined under <role>Parameters.

On Wed, May 11, 2022 at 4:26 PM Anirudh Gupta <anyrude10@gmail.com> wrote:
Hi Takashi,

Thanks for clarifying my issues regarding the support of PTP in Wallaby Release.

In Train, I have also tried passing the exact interface name and took 2 runs with and without quotes like below:

PtpInterface: eno1
PtpInterface: 'eno1'

But in both the cases, the issue observed was similar

2022-05-11 10:33:20.189107 | 5254001f-9952-934d-e901-0000000030be |      FATAL | Wait for puppet host configuration to finish | overcloud-controller-2 | error={"ansible_job_id": "526310775819.36650", "attempts": 3, "changed": true, "cmd": "set -o pipefail; puppet apply  --modulepath=/etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules --detailed-exitcodes --summarize --color=false   /var/lib/tripleo-config/puppet_step_config.pp 2>&1 | logger -s -t puppet-user", "delta": "0:00:04.289208", "end": "2022-05-11 10:33:08.195052", "failed_when_result": true, "finished": 1, "msg": "non-zero return code", "rc": 1, "start": "2022-05-11 10:33:03.905844", "stderr": "<13>May 11 10:33:03 puppet-user: Warning: The function 'hiera' is deprecated in favor of using 'lookup'. See https://puppet.com/docs/puppet/5.5/deprecated_language.html\\n   (file & line not available)\n<13>May 11 10:33:03 puppet-user: Warning: /etc/puppet/hiera.yaml: Use of 'hiera.yaml' version 3 is deprecated. It should be converted to version 5\n<13>May 11 10:33:03 puppet-user:    (file: /etc/puppet/hiera.yaml)\n<13>May 11 10:33:03 puppet-user: Warning: Undefined variable '::deploy_config_name'; \\n   (file & line not available)\n<13>May 11 10:33:03 puppet-user: Warning: ModuleLoader: module 'tripleo' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules\\n   (file & line not available)\n<13>May 11 10:33:03 puppet-user: Error: Evaluation Error: A substring operation does not accept a String as a character index. Expected an Integer (file: /etc/puppet/modules/tripleo/manifests/profile/base/time/ptp.pp, line: 41, column: 46) on node overcloud-controller-2.localdomain", "stderr_lines": ["<13>May 11 10:33:03 puppet-user: Warning: The function 'hiera' is deprecated in favor of using 'lookup'. See https://puppet.com/docs/puppet/5.5/deprecated_language.html\\n   (file & line not available)", "<13>May 11 10:33:03 puppet-user: Warning: /etc/puppet/hiera.yaml: Use of 'hiera.yaml' version 3 is deprecated. It should be converted to version 5", "<13>May 11 10:33:03 puppet-user:    (file: /etc/puppet/hiera.yaml)", "<13>May 11 10:33:03 puppet-user: Warning: Undefined variable '::deploy_config_name'; \\n   (file & line not available)", "<13>May 11 10:33:03 puppet-user: Warning: ModuleLoader: module 'tripleo' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules\\n   (file & line not available)", "<13>May 11 10:33:03 puppet-user: Error: Evaluation Error: A substring operation does not accept a String as a character index. Expected an Integer (file: /etc/puppet/modules/tripleo/manifests/profile/base/time/ptp.pp, line: 41, column: 46) on node overcloud-controller-2.localdomain"], "stdout": "", "stdout_lines": []}
2022-05-11 10:33:20.190263 | 5254001f-9952-934d-e901-0000000030be |     TIMING | Wait for puppet host configuration to finish | overcloud-controller-2 | 0:12:41.268734 | 7.01s

I'll be highly grateful if you could further extend your support to resolve the issue.

Regards
Anirudh Gupta

On Tue, May 10, 2022 at 9:15 PM Takashi Kajinami <tkajinam@redhat.com> wrote:


On Wed, May 11, 2022 at 12:19 AM Anirudh Gupta <anyrude10@gmail.com> wrote:
Hi Takashi,

Thanks for your suggestion.

I downloaded the updated Train Images and they had the ptp.pp file available on the overcloud and undercloud machines

[root@overcloud-controller-1 /]# find . -name "ptp.pp"
./usr/share/openstack-puppet/modules/tripleo/manifests/profile/base/time/ptp.pp

With this, I re-executed the deployment and got the below error on the machines

2022-05-10 20:05:53.133423 | 5254001f-9952-0364-51a1-0000000030ce |      FATAL | Wait for puppet host configuration to finish | overcloud-controller-1 | error={"ansible_job_id": "321785316135.36755", "attempts": 3, "changed": true, "cmd": "set -o pipefail; puppet apply  --modulepath=/etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules --detailed-exitcodes --summarize --color=false   /var/lib/tripleo-config/puppet_step_config.pp 2>&1 | logger -s -t puppet-user", "delta": "0:00:04.279435", "end": "2022-05-10 20:05:41.355328", "failed_when_result": true, "finished": 1, "msg": "non-zero return code", "rc": 1, "start": "2022-05-10 20:05:37.075893", "stderr": "<13>May 10 20:05:37 puppet-user: Warning: The function 'hiera' is deprecated in favor of using 'lookup'. See https://puppet.com/docs/puppet/5.5/deprecated_language.html\\n   (file & line not available)\n<13>May 10 20:05:37 puppet-user: Warning: /etc/puppet/hiera.yaml: Use of 'hiera.yaml' version 3 is deprecated. It should be converted to version 5\n<13>May 10 20:05:37 puppet-user:    (file: /etc/puppet/hiera.yaml)\n<13>May 10 20:05:37 puppet-user: Warning: Undefined variable '::deploy_config_name'; \\n   (file & line not available)\n<13>May 10 20:05:37 puppet-user: Warning: ModuleLoader: module 'tripleo' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules\\n   (file & line not available)\n<13>May 10 20:05:37 puppet-user: Error: Evaluation Error: A substring operation does not accept a String as a character index. Expected an Integer (file: /etc/puppet/modules/tripleo/manifests/profile/base/time/ptp.pp, line: 41, column: 46) on node overcloud-controller-1.localdomain", "stderr_lines": ["<13>May 10 20:05:37 puppet-user: Warning: The function 'hiera' is deprecated in favor of using 'lookup'. See https://puppet.com/docs/puppet/5.5/deprecated_language.html\\n   (file & line not available)", "<13>May 10 20:05:37 puppet-user: Warning: /etc/puppet/hiera.yaml: Use of 'hiera.yaml' version 3 is deprecated. It should be converted to version 5", "<13>May 10 20:05:37 puppet-user:    (file: /etc/puppet/hiera.yaml)", "<13>May 10 20:05:37 puppet-user: Warning: Undefined variable '::deploy_config_name'; \\n   (file & line not available)", "<13>May 10 20:05:37 puppet-user: Warning: ModuleLoader: module 'tripleo' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules\\n   (file & line not available)", "<13>May 10 20:05:37 puppet-user: Error: Evaluation Error: A substring operation does not accept a String as a character index. Expected an Integer (file: /etc/puppet/modules/tripleo/manifests/profile/base/time/ptp.pp, line: 41, column: 46) on node overcloud-controller-1.localdomain"], "stdout": "", "stdout_lines": []}

The file /etc/puppet/modules/tripleo/manifests/profile/base/time/ptp.pp, line: 41, column: 46 had the following code:
 34 class tripleo::profile::base::time::ptp (
     35   $ptp4l_interface                = 'eth0',
     36   $ptp4l_conf_slaveonly           = 1,
     37   $ptp4l_conf_network_transport   = 'UDPv4',
     38 ) {
     39
     40   $interface_mapping = generate('/bin/os-net-config', '-i', $ptp4l_interface)
     41   $ptp4l_interface_name = $interface_mapping[$ptp4l_interface]

"/usr/share/openstack-tripleo-heat-templates/environments/services/ptp.yaml" file is as below:

resource_registry:
  # FIXME(bogdando): switch it, once it is containerized
  OS::TripleO::Services::Ptp: ../../deployment/time/ptp-baremetal-puppet.yaml
  OS::TripleO::Services::Timesync: OS::TripleO::Services::Ptp

parameter_defaults:
  # PTP hardware interface name
  PtpInterface: 'nic1'

  # Configure PTP clock in slave mode
  PtpSlaveMode: 1

  # Configure PTP message transport protocol
  PtpMessageTransport: 'UDPv4'

I have also tried modifying the entry as below:
 PtpInterface: 'nic1' #(i.e. without quotes), but the error remains the same.

Queries:
  1. Any pointers to resolve this?
I'm not familiar with ptp but you'd need to use the actual interface name
if you are not using the alias name.

 
  1. You were mentioning something about the support of PTP not there in the wallaby release. Can you please confirm?
IIUC PTP is still supported even in master. What we removed is the implementation using Puppet
which was replaced by ansible.

The warning regarding OS::TripleO::Services::Ptp was added when we decided to merge
all time sync services to the single service resource which is OS::TripleO::Services::Timesync[1].
It's related to how resources are defined in Heat and doesn't affect configuration support itself.


 
It would be a great help if you could extend a little more support to resolve the issues.

Regards
Anirudh Gupta


On Tue, May 10, 2022 at 6:07 PM Anirudh Gupta <anyrude10@gmail.com> wrote:
I'll check that well. 
By the way, I downloaded the images from the below link


They seem to be updated yesterday, I'll download and try the deployment with the latest images.

Also are you pointing that the support for PTP would not be there in Wallaby Release?

Regards
Anirudh Gupta

On Tue, May 10, 2022 at 5:44 PM Takashi Kajinami <tkajinam@redhat.com> wrote:

On Tue, May 10, 2022 at 8:57 PM Anirudh Gupta <anyrude10@gmail.com> wrote:
Hi Takashi

I have checked this in undercloud only. 
I don't find any such file in overcloud. Could this be a concern?

The manifest should exist in overcloud nodes and the missing file is the exact cause
of that puppet failure during deployment.

Please check your overcloud images used to install overcloud nodes and ensure that
you're using the right one. You might be using the image for a different release.
We removed the manifest file during the Wallaby cycle.
 

Regards
Anirudh Gupta



On Tue, May 10, 2022 at 5:08 PM Takashi Kajinami <tkajinam@redhat.com> wrote:


On Tue, May 10, 2022 at 8:33 PM Takashi Kajinami <tkajinam@redhat.com> wrote:


On Tue, May 10, 2022 at 6:58 PM Anirudh Gupta <anyrude10@gmail.com> wrote:
Hi Takashi,

Thanks for your reply.

I have checked on my machine and the file "ptp.pp" do exist at path "./usr/share/openstack-puppet/modules/tripleo/manifests/profile/base/time/ptp.pp"
Did you check this in your undercloud or overcloud ?
During the deployment all configuration files are generated using puppet modules
installed in overcloud nodes, so you should check this in overcloud nodes.

Also, the deprecation warning is not implemented
Ignore this incomplete line. I was looking for the implementation which shows the warning
but I found it in tripleoclient and it looks reasonable according to what we have in
environments/services/ptp.yaml .
 
 
I tried putting OS::TripleO::Services::Ptp in my roles_data "ServicesDefault" for controller and compute before rendering the templates, but still I am getting the same issue on all the 3 Controllers and 1 Compute

IIUC you don't need this because OS::TripleO::Services::Timesync becomes an alias
to the Ptp service resource when you use the ptp environment file.
 

Error: Evaluation Error: Error while evaluating a Function Call, Could not find class ::tripleo::profile::base::time::ptp for overcloud-controller-0.localdomain (file: /var/lib/tripleo-config/puppet_step_config.pp, line: 41, column: 1) on node overcloud-controller-0.localdomain"], "stdout": "", "stdout_lines": []}

Can you suggest any workarounds or any pointers to look further in order to resolve this issue?

Regards
Anirudh Gupta


On Tue, May 10, 2022 at 2:18 PM Takashi Kajinami <tkajinam@redhat.com> wrote:
I'm not familiar with PTP, but the error you pasted indicates that the required puppet manifest does not exist in your overcloud node/image.

This should not happen and the class should exist as long as you have puppet-tripleo from stable/train installed.

I'd recommend you check installed tripleo/puppet packages and ensure everything is in the consistent release.



On Tue, May 10, 2022 at 5:28 AM Anirudh Gupta <anyrude10@gmail.com> wrote:
Hi All

Any update on this?

Regards
Anirudh Gupta

On Mon, 9 May, 2022, 17:21 Anirudh Gupta, <anyrude10@gmail.com> wrote:
Hi Team,

Is there any Support for PTP in Openstack TripleO ?

When I was executing the Overcloud deployment script, passing the PTP yaml, it gave the following option at the starting

service OS::TripleO::Services::Ptp is enabled in /usr/share/openstack-tripleo-heat-templates/environments/services/ptp.yaml. Deprecated in favour of OS::TripleO::Services::Timesync
Do you still wish to continue with deployment [y/N]


even if passing Y, it starts executing for sometime and the gives the following error

Error: Evaluation Error: Error while evaluating a Function Call, Could not find class ::tripleo::profile::base::time::ptp for overcloud-controller-0.localdomain (file: /var/lib/tripleo-config/puppet_step_config.pp, line: 41, column: 1) on node overcloud-controller-0.localdomain"], "stdout": "", "stdout_lines": []}


Can someone suggest some pointers in order to resolve this issue and move forward?

Regards
Anirudh Gupta



On Fri, May 6, 2022 at 3:50 PM Anirudh Gupta <anyrude10@gmail.com> wrote:
Hi Team,

I have installed Undercloud with Openstack Train Release successfully.
I need to enable PTP service while deploying the overcloud for which I have included the service in my deployment

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 /usr/share/openstack-tripleo-heat-templates/environments/services/ptp.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

But it gives the following error

2022-05-06 11:30:10.707655 | 5254001f-9952-7fed-4a6d-000000002fde | FATAL | Wait for puppet host configuration to finish | overcloud-controller-0 | error={"ansible_job_id": "5188783868.37685", "attempts": 3, "changed": true, "cmd": "set -o pipefail; puppet apply --modulepath=/etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules --detailed-exitcodes --summarize --color=false /var/lib/tripleo-config/puppet_step_config.pp 2>&1 | logger -s -t puppet-user", "delta": "0:00:04.440700", "end": "2022-05-06 11:30:12.685508", "failed_when_result": true, "finished": 1, "msg": "non-zero return code", "rc": 1, "start": "2022-05-06 11:30:08.244808", "stderr": "<13>May 6 11:30:08 puppet-user: Warning: The function 'hiera' is deprecated in favor of using 'lookup'. See https://puppet.com/docs/puppet/6.14/deprecated_language.html\n<13>May 6 11:30:08 puppet-user: (file & line not available)\n<13>May 6 11:30:08 puppet-user: Warning: /etc/puppet/hiera.yaml: Use of 'hiera.yaml' version 3 is deprecated. It should be converted to version 5\n<13>May 6 11:30:08 puppet-user: (file: /etc/puppet/hiera.yaml)\n<13>May 6 11:30:08 puppet-user: Warning: Undefined variable '::deploy_config_name'; \n<13>May 6 11:30:08 puppet-user: (file & line not available)\n<13>May 6 11:30:08 puppet-user: Warning: Unknown variable: '::deployment_type'. (file: /etc/puppet/modules/tripleo/manifests/profile/base/database/mysql/client.pp, line: 89, column: 8)\n<13>May 6 11:30:08 puppet-user: error: Could not connect to controller: Connection refused\n<13>May 6 11:30:08 puppet-user: Error: Evaluation Error: Error while evaluating a Function Call, Could not find class ::tripleo::profile::base::time::ptp for overcloud-controller-0.localdomain (file: /var/lib/tripleo-config/puppet_step_config.pp, line: 41, column: 1) on node overcloud-controller-0.localdomain", "stderr_lines": ["<13>May 6 11:30:08 puppet-user: Warning: The function 'hiera' is deprecated in favor of using 'lookup'. See https://puppet.com/docs/puppet/6.14/deprecated_language.html", "<13>May 6 11:30:08 puppet-user: (file & line not available)", "<13>May 6 11:30:08 puppet-user: Warning: /etc/puppet/hiera.yaml: Use of 'hiera.yaml' version 3 is deprecated. It should be converted to version 5", "<13>May 6 11:30:08 puppet-user: (file: /etc/puppet/hiera.yaml)", "<13>May 6 11:30:08 puppet-user: Warning: Undefined variable '::deploy_config_name'; ", "<13>May 6 11:30:08 puppet-user: (file & line not available)", "<13>May 6 11:30:08 puppet-user: Warning: Unknown variable: '::deployment_type'. (file: /etc/puppet/modules/tripleo/manifests/profile/base/database/mysql/client.pp, line: 89, column: 8)", "<13>May 6 11:30:08 puppet-user: error: Could not connect to controller: Connection refused", "<13>May 6 11:30:08 puppet-user: Error: Evaluation Error: Error while evaluating a Function Call, Could not find class ::tripleo::profile::base::time::ptp for overcloud-controller-0.localdomain (file: /var/lib/tripleo-config/puppet_step_config.pp, line: 41, column: 1) on node overcloud-controller-0.localdomain"], "stdout": "", "stdout_lines": []}


Can someone please help in resolving this issue?

Regards
Anirudh Gupta