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.ppWith this, I re-executed the deployment and got the below error on the machines2022-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:
- Any pointers to resolve this?
- You were mentioning something about the support of PTP not there in the wallaby release. Can you please confirm?
It would be a great help if you could extend a little more support to resolve the issues.RegardsAnirudh GuptaOn 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 linkThey 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?RegardsAnirudh GuptaOn 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 TakashiI 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 causeof that puppet failure during deployment.Please check your overcloud images used to install overcloud nodes and ensure thatyou're using the right one. You might be using the image for a different release.We removed the manifest file during the Wallaby cycle.RegardsAnirudh GuptaOn 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 modulesinstalled in overcloud nodes, so you should check this in overcloud nodes.Also, the deprecation warning is not implementedIgnore this incomplete line. I was looking for the implementation which shows the warningbut I found it in tripleoclient and it looks reasonable according to what we have inenvironments/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 ComputeIIUC you don't need this because OS::TripleO::Services::Timesync becomes an aliasto 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?RegardsAnirudh GuptaOn 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 AllAny update on this?RegardsAnirudh GuptaOn 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 startingservice 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 errorError: 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?RegardsAnirudh GuptaOn 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 deploymentopenstack 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.yamlBut it gives the following error2022-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?RegardsAnirudh Gupta