Nice doesn't appears on origin-node.service. However I managed to
sucessfully set it on both docker.service and crond.service.
Also I've tried to call it using the nice command with no success:
    ExecStart=nice -n -5 /usr/bin/openshift start node
--config=${CONFIG_FILE} $OPTIONS

[root@ip-10-0-53-142 centos]# systemctl daemon-reload
​
[root@ip-10-0-53-142 centos]# systemctl stop origin-node.service
[root@ip-10-0-53-142 centos]# systemctl start origin-node.service
[root@ip-10-0-53-142 centos]# ps afx -o pid,nice,comm|grep openshift
  1744   0 openshift
  1758   0 openshift
 87650   0 openshift
​


--
Mateus Caruccio / Master of Puppets
GetupCloud.com
We make the infrastructure invisible
Gartner Cool Vendor 2017

2018-06-30 17:01 GMT-03:00 Clayton Coleman <ccole...@redhat.com>:

> Maybe double check that systemd sees the Nice parameter with systemctl cat
> origin-node
>
> On Jun 30, 2018, at 3:10 PM, Mateus Caruccio <mateus.caruccio@getupcloud.
> com> wrote:
>
> [centos@ip-10-0-53-142 ~]$ oc version
> oc v3.9.0+ba7faec-1
> kubernetes v1.9.1+a0ce1bc657
> features: Basic-Auth GSSAPI Kerberos SPNEGO
>
> Server https://api.engine.caruccio.com
> openshift v3.9.0+ba7faec-1
> kubernetes v1.9.1+a0ce1bc657
>
> ------------------------------
>
> [centos@ip-10-0-53-142 ~]$ sudo grep -v '^#' /etc/sysconfig/origin-node
> /etc/sysconfig/origin-node:OPTIONS=--loglevel=1
> /etc/sysconfig/origin-node:CONFIG_FILE=/etc/origin/node/node-config.yaml
> /etc/sysconfig/origin-node:
> /etc/sysconfig/origin-node:IMAGE_VERSION=v3.9.0
> /etc/sysconfig/origin-node:AWS_ACCESS_KEY_ID=[REDACTED]
> /etc/sysconfig/origin-node:AWS_SECRET_ACCESS_KEY=[REDACTED]
>
> ------------------------------
>
> [centos@ip-10-0-53-142 ~]$ sudo cat /etc/origin/node/node-config.yaml
> allowDisabledDocker: false
> apiVersion: v1
> dnsBindAddress: 127.0.0.1:53
> dnsRecursiveResolvConf: /etc/origin/node/resolv.conf
> dnsDomain: cluster.local
> dnsIP: 10.0.53.142
> dockerConfig:
>   execHandlerName: ""
> iptablesSyncPeriod: "30s"
> imageConfig:
>   format: openshift/origin-${component}:${version}
>   latest: False
> kind: NodeConfig
> kubeletArguments:
>   cloud-config:
>   - /etc/origin/cloudprovider/aws.conf
>   cloud-provider:
>   - aws
>   image-gc-high-threshold:
>   - '80'
>   image-gc-low-threshold:
>   - '50'
>   image-pull-progress-deadline:
>   - 20m
>   max-pods:
>   - '200'
>   maximum-dead-containers:
>   - '10'
>   maximum-dead-containers-per-container:
>   - '1'
>   minimum-container-ttl-duration:
>   - 30s
>   node-labels:
>   - region=primary
>   - role=master
>   - zone=default
>   - server_name=mateus-master-0
>   pods-per-core:
>   - '20'
> masterClientConnectionOverrides:
>   acceptContentTypes: application/vnd.kubernetes.protobuf,application/json
>   contentType: application/vnd.kubernetes.protobuf
>   burst: 200
>   qps: 100
> masterKubeConfig: system:node:ip-10-0-53-142.us-west-2.compute.internal.
> kubeconfig
> networkPluginName: redhat/openshift-ovs-multitenant
> # networkConfig struct introduced in origin 1.0.6 and OSE 3.0.2 which
> # deprecates networkPluginName above. The two should match.
> networkConfig:
>    mtu: 8951
>    networkPluginName: redhat/openshift-ovs-multitenant
> nodeName: ip-10-0-53-142.us-west-2.compute.internal
> podManifestConfig:
> servingInfo:
>   bindAddress: 0.0.0.0:10250
>   certFile: server.crt
>   clientCA: ca.crt
>   keyFile: server.key
>   minTLSVersion: VersionTLS12
> volumeDirectory: /var/lib/origin/openshift.local.volumes
> proxyArguments:
>   proxy-mode:
>      - iptables
> volumeConfig:
>   localQuota:
>     perFSGroup:
>
> ------------------------------
>
> [centos@ip-10-0-53-142 ~]$ sudo cat /usr/lib/systemd/system/
> origin-node.service
> [Unit]
> Description=Origin Node
> After=docker.service
> Wants=docker.service
> Documentation=https://github.com/openshift/origin
>
> [Service]
> Type=notify
> EnvironmentFile=/etc/sysconfig/origin-node
> Environment=GOTRACEBACK=crash
> ExecStart=/usr/bin/openshift start node --config=${CONFIG_FILE} $OPTIONS
> LimitNOFILE=65536
> LimitCORE=infinity
> WorkingDirectory=/var/lib/origin/
> SyslogIdentifier=origin-node
> Restart=always
> RestartSec=5s
> OOMScoreAdjust=-999
> Nice = -5
>
> [Install]
> WantedBy=multi-user.target
>
> ------------------------------
>
> This is the ansible task I'm using:
>
> https://github.com/caruccio/getup-engine-installer/commit/
> 49c28e4cc350856e11b8160f7a315e5fdda0dcce
>
> ---
> - name: Set origin-node niceness
>   ini_file:
>     path: /usr/lib/systemd/system/origin-node.service
>     section: Service
>     option: Nice
>     value: -5
>     backup: yes
>   tags:
>   - post-install
>
>
> --
> Mateus Caruccio / Master of Puppets
> GetupCloud.com
> We make the infrastructure invisible
> Gartner Cool Vendor 2017
>
> 2018-06-30 15:03 GMT-03:00 Clayton Coleman <ccole...@redhat.com>:
>
>> Which version of openshift and what are your node start settings?
>>
>> On Jun 29, 2018, at 11:10 PM, Mateus Caruccio <
>> mateus.caruc...@getupcloud.com> wrote:
>>
>> Hi. I'm trying to run openshift kubelet with nice set o -5 but with no
>> success.
>>
>> I've noticed that kubelet is started using syscall.Exec[1], which calls
>> execve. The man page of execve[2] states that the new process shall
>> inherited nice value from caller.
>>
>> After adding `Nice=-5` to origin-node unit and reloading both daemon and
>> unit, openshift node process still runs with nice=0.
>>
>> What am I missing?
>>
>> [1]: https://github.com/openshift/origin/blob/83ac5ae6a7d635
>> ae67b1be438d85c339500fd65b/pkg/cmd/server/start/start_node.go#L433
>> [2]: https://linux.die.net/man/3/execve
>>
>> --
>> Mateus Caruccio / Master of Puppets
>> GetupCloud.com
>> We make the infrastructure invisible
>> Gartner Cool Vendor 2017
>>
>> _______________________________________________
>> dev mailing list
>> dev@lists.openshift.redhat.com
>> http://lists.openshift.redhat.com/openshiftmm/listinfo/dev
>>
>>
>
_______________________________________________
dev mailing list
dev@lists.openshift.redhat.com
http://lists.openshift.redhat.com/openshiftmm/listinfo/dev

Reply via email to