-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Kill plugin script #12145
Kill plugin script #12145
Conversation
pkg/sdn/plugin/pod_linux.go
Outdated
return otx.EndTransaction() | ||
} | ||
|
||
func (m *podManager) setupPodBandwidth(pod *kapi.Pod, hostVeth string) error { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these methods actually related? If all you're accessing is m.ovs
taking ovs as an argument is just as good. We generally lean from a style perspective on not creating grouping types unless there is an actual "group".
@smarterclayton like that? |
pkg/sdn/plugin/pod_linux.go
Outdated
return otx.EndTransaction() | ||
} | ||
|
||
func setupPodBandwidth(ovsif *ovs.Interface, pod *kapi.Pod, hostVeth string) error { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, looks good. I find a lot of the time it's easy to "over OO" stuff, and I think for many functions you end up with more testable and less coupled code.
@danwinship So generally LGTM, though we'll have the same upgrade problem when a master+node host is updated, since the RPM changes remove the script. Then pods on that node will fail because the script doesn't exist. Maybe we just keep the script around in the RPM (I'm pretty sure we don't need it in the images, just in the specfile) for one more release? |
7b45817
to
1ac54b6
Compare
openshift doesn't care where the script is as long as it's in $PATH, so we could have the update process copy it from /usr/bin to /usr/local/bin before upgrading the RPM, and then delete it after restarting the node service |
(re-push is just to squash the fixup) |
Generally if it's more complex to do it in ansible, doing it in your code
(preserving the script for at least one version) reduces the impact of this
change to other teams (keeps your dirty laundry secret)
…On Wed, Dec 7, 2016 at 10:41 AM, Dan Winship ***@***.***> wrote:
(re-push is just to squash the fixup)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#12145 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABG_p0HAVONxBM1G6FQSCNoLgZcwZ-ULks5rFtOhgaJpZM4LEqyc>
.
|
Do we only support single version upgrades? I.e. to get from 3.2 to 3.4
you need to go through 3.3 (and start it up)?
On Wed, Dec 7, 2016 at 11:46 AM, Clayton Coleman <[email protected]>
wrote:
… Generally if it's more complex to do it in ansible, doing it in your code
(preserving the script for at least one version) reduces the impact of this
change to other teams (keeps your dirty laundry secret)
On Wed, Dec 7, 2016 at 10:41 AM, Dan Winship ***@***.***>
wrote:
> (re-push is just to squash the fixup)
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#12145 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/ABG_
p0HAVONxBM1G6FQSCNoLgZcwZ-ULks5rFtOhgaJpZM4LEqyc>
> .
>
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
<#12145 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AJkavRFjQG2TZAtNHdAHnQ4LkNZbTmvhks5rFuLVgaJpZM4LEqyc>
.
|
It's not clear whose dirty laundry it is; leaving openshift running while changing the rpm out from under it is kind of dirty on their part. But sure, we can leave the script around.
yes |
Not quite true. We support single version no downtime upgrades. We do not
support multi version no downtime (of the control plane) upgrades, although
anything beyond the control plane needs an exception.
On Dec 7, 2016, at 12:22 PM, Dan Winship <[email protected]> wrote:
(keeps your dirty laundry secret)
It's not clear whose dirty laundry it is; leaving openshift running while
changing the rpm out from under it is kind of dirty on their part. But
sure, we can leave the script around.
Do we only support single version upgrades?
yes
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#12145 (comment)>,
or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ABG_p6ocOKSZ5Vfgq3AcGEiGoxq4dQXeks5rFutHgaJpZM4LEqyc>
.
|
1ac54b6
to
56853fb
Compare
[test][testextended][extended:networking] |
a566dfa
to
f1efa1b
Compare
f1efa1b
to
d974ae9
Compare
d974ae9
to
7394fb7
Compare
Are we going to try to get this in for 3.5? (It's not a feature so I guess it's not subject to the "feature freeze" deadline anyway, but...) |
ee7ac04
to
dd197f1
Compare
Rebased and repushed now that the tree is open for 3.6. Also changed it to make it continue installing the now-unused script, to avoid problems during upgrade. We can remove it completely for 3.7. |
dd197f1
to
8f4af41
Compare
flake #12855, [testextended] |
@openshift/networking the test failures will be fixed by #13061 when it lands. This is ready for review. |
8f4af41
to
e4c388a
Compare
pkg/sdn/plugin/pod_linux.go
Outdated
} | ||
|
||
if ovsEgress > 0 { | ||
qos, err := ovsif.Create("qos", "type=linux-htb", fmt.Sprintf("other-config:max-rate=%d", ovsEgress)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where is the code equivalent to "ip link set dev ${veth_host} qlen 1000" in openshift-sdn-ovs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, i think this branch originally predates that addition and I must have missed it when rebasing
ovsEgress = podIngress.Value() | ||
} | ||
if podEgress != nil { | ||
ovsIngress = podEgress.Value() / 1024 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it /1024 or /1000? 1024 might be right (we are using 1000 in openshift-sdn-ovs)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, yeah, I saw 1000 in openshift-sdn-ovs but assumed it was probably wrong and should be 1024. @dcbw?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ovs docs say "ingress_policing_rate: ... Maximum rate for data received on this interface, in kbps." so 1024 is correct
Added couple of comments, rest of the code LGTM. |
e4c388a
to
2320693
Compare
Rebased and added in the qlen thing (and did another check to see if I'd missed anything when rebasing, and didn't see anything). It seems that the netlink library used for all the other /sbin/ip stuff in pod_linux.go doesn't let you do "set qlen" (even if we updated to the latest git) so I had to use ipcmd instead. |
2320693
to
3d8bdc1
Compare
3d8bdc1
to
972fe78
Compare
Evaluated for origin testextended up to b4cac9e |
Evaluated for origin test up to b4cac9e |
continuous-integration/openshift-jenkins/test SUCCESS (https://ci.openshift.redhat.com/jenkins/job/test_pull_request_origin/160/) (Base Commit: 3febe97) |
continuous-integration/openshift-jenkins/testextended SUCCESS (https://ci.openshift.redhat.com/jenkins/job/test_pull_request_origin_extended/19/) (Base Commit: 3febe97) (Extended Tests: networking) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
[merge] |
Evaluated for origin merge up to b4cac9e |
continuous-integration/openshift-jenkins/merge SUCCESS (https://ci.openshift.redhat.com/jenkins/job/merge_pull_request_origin/205/) (Base Commit: d260e80) (Image: devenv-rhel7_6104) |
Automatic merge from submit-queue Remove no-longer-used openshift-sdn-ovs script This script was not used in 3.6; it was only present to help 3.5->3.6 upgrades work and can now be removed. (#12145 (comment))
The CNI port already got us most of the way there. This moves the remaining bits of pod setup/teardown into go rather than shell script.
(I started this a long time ago, and finished it now because of #11990.)
@openshift/networking PTAL