Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add Precision Time Protocol support #4

Merged
merged 1 commit into from
Sep 30, 2019

Conversation

zshi-redhat
Copy link
Contributor

No description provided.

@openshift-ci-robot openshift-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Sep 3, 2019
Copy link

@oglok oglok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, it looks very good to me and very aligned to the prototype we've already done. Good job!

time/ptp.md Outdated
#### PTP4L configuration file

Default ptp4l configuration file (ptp4l.conf) will be used when starting ptp4l
service, user doesn't need to specify ptp4l.conf in `ptp4lOpts`. The content
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I understand, the daemonset will use the default configuration from ptp4l.conf and the user can overwrite some of the options via ptp4lOpts. It would be worth to mention where this options will be stored (like a configMap or in /etc/sysconfig/ptp4l).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct!
updated the doc to add:

  1. ptp4l.conf is installed in ptp daemon image by default under /etc/ptp4l.conf
  2. -f ptp4l.conf will be automatically appended to ptp4lOpts by PTP daemon
  3. some of ptp4l.conf configs can be overwritten by specifying certain options in ptp4lOpts.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

time/ptp.md Outdated
In case of failure in linuxptp configuration, OpenShift nodes will be left as
no time source to sync, resulting in potential time disorder among nodes.
This can be resolved by providing PTP and NTP redundancy via timemaster service
which automatically rolls back to use default NTP time source if configured.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like we could mitigate the risk of failure by using timemaster (which is right) but we don't support timemaster service configuration. Just to make it clear.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated to explicitly mention :

  1. timemaster service can mitigate the redundancy issue between PTP and NTP
  2. timemaster configuration will not be supported in initial proposal.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

time/ptp.md Outdated

#### Tech Preview -> GA

- Have an opeartor to manage PTP CRDs
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: operator

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eagle eyes! Thanks ! fixed

## Infrastructure Needed [optional]

This requires a github repo be created under openshift org to hold PTP
DaemonSet code. The name of this repo is `ptp-daemon`.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As mentioned above, there will be the need of an operator managing the PTP daemonset. Then, there will be two different repos? one with the ptp-daemon and one with the ptp-operator?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the idea is to first implement a PTP daemon in 4.3 as Tech Preview, and have an operator to manage this daemon and exposes all CRDs mentioned in proposal. Operator will need a separate repo under openshift github org (this is not strictly required, as you can see, SR-IOV Operator uses one repo to hold code for both daemon and operator).

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that's why I mentioned it. I think the trend in OpenShift is to name the repos according to the operator, even if they contains the code of the actual application that is being "operated".

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the long term direction is to deliver this via an operator I think we should just go ahead and create the repo as if it's an operator.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After looking at this some more it seems like there are more examples of separate repos for operator and operands, ie: image-registry, kubernetes-apiserver. So it seems there's no norm established here so lets just go with separate repos as initially proposed.

time/ptp.md Show resolved Hide resolved
## Infrastructure Needed [optional]

This requires a github repo be created under openshift org to hold PTP
DaemonSet code. The name of this repo is `ptp-daemon`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the long term direction is to deliver this via an operator I think we should just go ahead and create the repo as if it's an operator.

@zshi-redhat
Copy link
Contributor Author

@sdodson thanks for the review!
Re the repo, I was thinking to create two repos eventually, one is for ptp daemon that manages linuxptp services, the other is for ptp operator which exposes CRDs. I'm not sure what's the best practice to create repos for such case. I have seen tuned operator and daemonset be separated in different repos, and SR-IOV config daemon and Operator located in the same repo. Do we have any guidance on whether to divide daemon and operator into different repos?

@sdodson
Copy link
Member

sdodson commented Sep 11, 2019

@zshi-redhat lets go ahead with separate repos

@zshi-redhat
Copy link
Contributor Author

@zshi-redhat lets go ahead with separate repos

@sdodson cool, thanks, will use separate repos for ptp-daemon and ptp-operator

@fepan
Copy link

fepan commented Sep 30, 2019

@sdodson could you approve this PR, I think we are ready to merge.

@sdodson
Copy link
Member

sdodson commented Sep 30, 2019

/approve

@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 30, 2019
@fepan
Copy link

fepan commented Sep 30, 2019

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Sep 30, 2019
@openshift-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: fepan, sdodson, zshi-redhat

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-robot openshift-merge-robot merged commit 67fb6aa into openshift:master Sep 30, 2019
@ashcrow
Copy link
Member

ashcrow commented Nov 21, 2019

I realize this already merged a while back and likely has had some refinement but I do want to ask a few questions:

  • How would one set up this operator? Is it enabled at install time via UPI? OLM?
  • Would it need to interact with any machine components/configurations (IE: interact with MCO)?
  • RHEL nodes are noted, RHCOS isn't. Is this meant for both?

@zshi-redhat
Copy link
Contributor Author

zshi-redhat commented Nov 21, 2019

I realize this already merged a while back and likely has had some refinement but I do want to ask a few questions:

  • How would one set up this operator? Is it enabled at install time via UPI? OLM?

OLM, it's an optional operator installed via openshift marketplace

  • Would it need to interact with any machine components/configurations (IE: interact with MCO)?
  • RHEL nodes are noted, RHCOS isn't. Is this meant for both?

Currently, no interaction with MCO. All ptp services are configured via this Opreator.
One thing we didn't add in operator, which do need to interact with MCO, is to disable chronyd service via MCO. Another thing I can think of is to use MCO for bonding interface creation and then PTP can be configured on top of bond to provide redundency and failover.
Both RHEL and RHCOS are supported.

@ashcrow
Copy link
Member

ashcrow commented Nov 22, 2019

OLM, it's an optional operator installed via openshift marketplace

Perfect

Currently, no interaction with MCO. All ptp services are configured via this Opreator.

Got it 👍

One thing we didn't add in operator, which do need to interact with MCO, is to disable chronyd service via MCO. Another thing I can think of is to use MCO for bonding interface creation and then PTP can be configured on top of bond to provide redundency and failover.

OK, for this please make sure to interact with the MCO team when you get to the point of designing this addition (cc'ing @runcom as an FYI as he leads that team).

Both RHEL and RHCOS are supported.

Awesome 😃

marun added a commit to marun/enhancements that referenced this pull request Jan 21, 2020
marun added a commit to marun/enhancements that referenced this pull request Jan 21, 2020
pedjak added a commit to pedjak/openshift-enhancements that referenced this pull request Apr 15, 2020
beekhof referenced this pull request in n1r1/enhancements Nov 20, 2020
Signed-off-by: Nir <niry@redhat.com>
openshift-merge-robot pushed a commit that referenced this pull request Oct 18, 2021
ConfigMap: make it not exclusive for ipfix (it could be helpful in th…
cgwalters pushed a commit to cgwalters/enhancements that referenced this pull request Oct 19, 2021
os: un-RAID ESP; use GRUB RAID module
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants