Skip to content

Instantly share code, notes, and snippets.

@mcornea
Last active May 13, 2020 19:08
Show Gist options
  • Save mcornea/99b4e55be4e560a90ea97de11c393463 to your computer and use it in GitHub Desktop.
Save mcornea/99b4e55be4e560a90ea97de11c393463 to your computer and use it in GitHub Desktop.
worker-lb role
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
annotations:
machineconfiguration.openshift.io/generated-by-controller-version: 910f22cb1550ad7bb02b82c5dc05062b1566ce5f
creationTimestamp: "2020-05-13T18:39:58Z"
generation: 1
labels:
machineconfiguration.openshift.io/role: worker-lb
name: 00-worker-lb
ownerReferences:
- apiVersion: machineconfiguration.openshift.io/v1
blockOwnerDeletion: true
controller: true
kind: ControllerConfig
name: machine-config-controller
uid: a1f72006-0d0c-40f9-bb4c-4e47da17a179
resourceVersion: "574759"
selfLink: /apis/machineconfiguration.openshift.io/v1/machineconfigs/00-worker-lb
uid: 26a830c0-5511-4caf-98a4-fbb7ddd6f610
spec:
config:
ignition:
config: {}
security:
tls: {}
timeouts: {}
version: 2.2.0
networkd: {}
passwd: {}
storage:
files:
- contents:
source: data:,%23!%2Fbin%2Fbash%0ASTATUS%3D%242%0Acase%20%22%24STATUS%22%20in%0A%20%20%20%20up%7Cdown%7Cdhcp4-change%7Cdhcp6-change%7Chostname)%0A%20%20%20%20logger%20-s%20%22NM%20mdns-hostname%20triggered%20by%20%24%7B2%7D.%22%0A%20%20%20%20set%20%2Be%0A%20%20%20%20t_hostname%3D%24(hostname)%0A%20%20%20%20if%20%5B%20-z%20%22%24%7Bt_hostname%7D%22%20%5D%3B%20then%0A%20%20%20%20%20%20%20t_hostname%3D%22localhost%22%0A%20%20%20%20fi%0A%20%20%20%20mkdir%20-p%20%2Fetc%2Fmdns%0A%20%20%20%20echo%20%22%24%7Bt_hostname%7D%22%3E%2Fetc%2Fmdns%2Fhostname%0A%20%20%20%20logger%20-s%20%22Hostname%20changed%3A%20%24%7Bt_hostname%7D%22%0A%20%20%20%20%3B%3B%0A%20%20%20%20*)%0A%20%20%20%20%3B%3B%0Aesac%0A
verification: {}
filesystem: root
mode: 493
path: /etc/NetworkManager/dispatcher.d/40-mdns-hostname
- contents:
source: data:,%23!%2Fbin%2Fbash%0AIFACE%3D%241%0ASTATUS%3D%242%0A%23%20If%20%24DHCP6_FQDN_FQDN%20is%20not%20empty%20and%20is%20not%20localhost.localdomain%0A%5B%5B%20-n%20%22%24DHCP6_FQDN_FQDN%22%20%26%26%20%22%24DHCP6_FQDN_FQDN%22%20!%3D%20%22localhost.localdomain%22%20%5D%5D%20%26%26%20hostname%20%24DHCP6_FQDN_FQDN%0Acase%20%22%24STATUS%22%20in%0A%20%20%20%20up%7Cdown%7Cdhcp4-change%7Cdhcp6-change)%0A%20%20%20%20logger%20-s%20%22NM%20resolv-prepender%20triggered%20by%20%24%7B1%7D%20%24%7B2%7D.%22%0A%20%20%20%20NAMESERVER_IP%3D%24(%2Fusr%2Flocal%2Fbin%2Fnon_virtual_ip%20%5C%0A%20%20%20%20%20%20%20%20%22192.168.123.5%22%20%5C%0A%20%20%20%20%20%20%20%20%22192.168.123.6%22%20%5C%0A%20%20%20%20%20%20%20%20%22192.168.123.10%22)%0A%20%20%20%20DOMAIN%3D%22ocp-edge-cluster-0.qe.lab.redhat.com%22%0A%20%20%20%20set%20%2Be%0A%20%20%20%20if%20%5B%5B%20-n%20%22%24NAMESERVER_IP%22%20%5D%5D%3B%20then%0A%20%20%20%20%20%20%20%20logger%20-s%20%22NM%20resolv-prepender%3A%20Prepending%20'nameserver%20%24NAMESERVER_IP'%20to%20%2Fetc%2Fresolv.conf%20(other%20nameservers%20from%20%2Fvar%2Frun%2FNetworkManager%2Fresolv.conf)%22%0A%20%20%20%20%20%20%20%20sed%20-e%20%22%2F%5Esearch%2Fd%22%20%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20-e%20%22%2FGenerated%20by%2Fc%23%20Generated%20by%20KNI%20resolv%20prepender%20NM%20dispatcher%20script%5Cnsearch%20%24DOMAIN%5Cnnameserver%20%24NAMESERVER_IP%22%20%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%2Fvar%2Frun%2FNetworkManager%2Fresolv.conf%20%3E%20%2Fetc%2Fresolv.conf%0A%20%20%20%20else%0A%20%20%20%20%20%20%20%20logger%20-s%20%22Couldn't%20find%20a%20non-virtual%20IP%2C%20just%20updating%20resolv.conf%22%0A%20%20%20%20%20%20%20%20cp%20%2Fvar%2Frun%2FNetworkManager%2Fresolv.conf%20%2Fetc%2Fresolv.conf%0A%20%20%20%20fi%0A%20%20%20%20%3B%3B%0A%20%20%20%20*)%0A%20%20%20%20%3B%3B%0Aesac%0A
verification: {}
filesystem: root
mode: 493
path: /etc/NetworkManager/dispatcher.d/30-resolv-prepender
- contents:
source: data:,-----BEGIN%20CERTIFICATE-----%0AMIID%2BTCCAuGgAwIBAgIUOvLv9G2jYriWkQ0u%2FLzY2v10x24wDQYJKoZIhvcNAQEL%0ABQAwgYAxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJOQzEQMA4GA1UEBwwHUmFsZWln%0AaDEVMBMGA1UECgwMVGVzdCBDb21wYW55MRAwDgYDVQQLDAdUZXN0aW5nMSkwJwYD%0AVQQDDCBzZWFsdXNhMi5sYWIuZW5nLnJkdTIucmVkaGF0LmNvbTAeFw0yMDA1MTIx%0AOTQxNDhaFw0yMTA1MTIxOTQxNDhaMIGAMQswCQYDVQQGEwJVUzELMAkGA1UECAwC%0ATkMxEDAOBgNVBAcMB1JhbGVpZ2gxFTATBgNVBAoMDFRlc3QgQ29tcGFueTEQMA4G%0AA1UECwwHVGVzdGluZzEpMCcGA1UEAwwgc2VhbHVzYTIubGFiLmVuZy5yZHUyLnJl%0AZGhhdC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDiAoJ3AMPV%0AiR2RDgpgf2DlYAKyrVyT1%2BedaNgzLuOK8VKG5Hr35JdG4pkSVd%2BIuDDgYZUpy7zL%0AxKwCpV7vR8SHZA8lRz%2FMzmdMyjZylwJsseZc%2F3AmuRAhbyY4ynYWwuxD5OR2U%2FY9%0AMyvaiXmnxTjPZtes4JLtHxJQ2gyEvBNZIYaYxYbRg3IM75s4xZmJz1rvKfVUtE83%0AfdujPRkQBPUuOvQQyyvbjKm%2F0sH6HD%2BMPS8%2F732PkW2CWALs77TZyW4dPX7CHnlx%0AIj34GnB6qBmVT02l5QSnOGqfZzEnSg6Te8AoCzyLCQFAZ2%2BwEo88juYwtMdhxW15%0AMUzns5aQa4hDAgMBAAGjaTBnMA8GA1UdEwQIMAYBAf8CAQAwVAYDVR0RBE0wS4It%0AcmVnaXN0cnkub2NwLWVkZ2UtY2x1c3Rlci0wLnFlLmxhYi5yZWRoYXQuY29tgghz%0AZWFsdXNhMocEwKh7AYcECglMBYcEwKh6ATANBgkqhkiG9w0BAQsFAAOCAQEA2TFi%0AYTIjApH8NxOwTZJq0HpV%2FMBZcauEw44rKz9zfEVI5ah5Ux9eJj4FXbhVFyuD8MRC%0A9%2BTqpZc3K606bHgLYki2m7av%2FA6crMmy6OXqJj8kCBJzh0Z%2BAvkOfRtEchYEHNcl%0Ad1cWSwSzyFjYjbp1KFj%2Bt%2FfkyTj8RzUoUuxxzgL%2Bp8ACijUN3Zxsf02tN6%2BLtqhZ%0Akp4wL2iJGy5K5yx9JejhusrQUqIj09UQrHMcUm%2Bbx0kKG%2F%2FJF2PxbwuzK8GRSUlc%0AnhejAf%2FsSsPtcaac%2B4%2FKT2Ga3vqGPKVM%2BxK376fwDwzzX7DS0X8kx%2BESElMar576%0AKvTmLINBGBRMa5Z87Q%3D%3D%0A-----END%20CERTIFICATE-----%0A
verification: {}
filesystem: root
mode: 384
path: /etc/pki/ca-trust/source/anchors/openshift-config-user-ca-bundle.crt
- contents:
source: data:,%5Bmain%5D%0Adhcp%3Ddhclient%0Arc-manager%3Dunmanaged%0A%5Bconnection%5D%0Aipv6.dhcp-duid%3Dll%0A
verification: {}
filesystem: root
mode: 420
path: /etc/NetworkManager/conf.d/99-kni.conf
- contents:
source: data:,.%20%7B%0A%20%20%20%20errors%0A%20%20%20%20health%20%3A18080%0A%20%20%20%20mdns%20ocp-edge-cluster-0.qe.lab.redhat.com%200%20%7B%7B.Cluster.Name%7D%7D%0A%20%20%20%20forward%20.%20%7B%7B-%20range%20%24upstream%20%3A%3D%20.DNSUpstreams%7D%7D%20%7B%7B%24upstream%7D%7D%7B%7B-%20end%7D%7D%0A%20%20%20%20cache%2030%0A%20%20%20%20reload%0A%20%20%20%20hosts%20%7B%0A%20%20%20%20%20%20%20%20192.168.123.5%20api-int.ocp-edge-cluster-0.qe.lab.redhat.com%0A%20%20%20%20%20%20%20%20fallthrough%0A%20%20%20%20%7D%0A%7D%0A
verification: {}
filesystem: root
mode: 420
path: /etc/kubernetes/static-pod-resources/coredns/Corefile.tmpl
- contents:
source: data:,kind%3A%20Pod%0AapiVersion%3A%20v1%0Ametadata%3A%0A%20%20name%3A%20coredns%0A%20%20namespace%3A%20openshift-kni-infra%0A%20%20creationTimestamp%3A%0A%20%20deletionGracePeriodSeconds%3A%2065%0A%20%20labels%3A%0A%20%20%20%20app%3A%20kni-infra-mdns%0Aspec%3A%0A%20%20volumes%3A%0A%20%20-%20name%3A%20resource-dir%0A%20%20%20%20hostPath%3A%0A%20%20%20%20%20%20path%3A%20%22%2Fetc%2Fkubernetes%2Fstatic-pod-resources%2Fcoredns%22%0A%20%20-%20name%3A%20kubeconfig%0A%20%20%20%20hostPath%3A%0A%20%20%20%20%20%20path%3A%20%22%2Fetc%2Fkubernetes%2Fkubeconfig%22%0A%20%20-%20name%3A%20conf-dir%0A%20%20%20%20hostPath%3A%0A%20%20%20%20%20%20path%3A%20%22%2Fetc%2Fcoredns%22%0A%20%20-%20name%3A%20nm-resolv%0A%20%20%20%20hostPath%3A%0A%20%20%20%20%20%20path%3A%20%22%2Fvar%2Frun%2FNetworkManager%22%0A%20%20initContainers%3A%0A%20%20-%20name%3A%20render-config%0A%20%20%20%20image%3A%20quay.io%2Fopenshift-release-dev%2Focp-v4.0-art-dev%40sha256%3Aff3a10edc0f7dbacc3f053caaca0c69dc7bf80767677bd2c2ebea9226db332c1%0A%20%20%20%20command%3A%0A%20%20%20%20-%20runtimecfg%0A%20%20%20%20-%20render%0A%20%20%20%20-%20%22%2Fetc%2Fkubernetes%2Fkubeconfig%22%0A%20%20%20%20-%20%22--api-vip%22%0A%20%20%20%20-%20%22192.168.123.5%22%0A%20%20%20%20-%20%22--dns-vip%22%0A%20%20%20%20-%20%22192.168.123.6%22%0A%20%20%20%20-%20%22--ingress-vip%22%0A%20%20%20%20-%20%22192.168.123.10%22%0A%20%20%20%20-%20%22%2Fconfig%22%0A%20%20%20%20-%20%22--out-dir%22%0A%20%20%20%20-%20%22%2Fetc%2Fcoredns%22%0A%20%20%20%20resources%3A%20%7B%7D%0A%20%20%20%20volumeMounts%3A%0A%20%20%20%20-%20name%3A%20kubeconfig%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fetc%2Fkubernetes%2Fkubeconfig%22%0A%20%20%20%20-%20name%3A%20resource-dir%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fconfig%22%0A%20%20%20%20-%20name%3A%20conf-dir%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fetc%2Fcoredns%22%0A%20%20%20%20imagePullPolicy%3A%20IfNotPresent%0A%20%20containers%3A%0A%20%20-%20name%3A%20coredns%0A%20%20%20%20securityContext%3A%0A%20%20%20%20%20%20privileged%3A%20true%0A%20%20%20%20image%3A%20quay.io%2Fopenshift-release-dev%2Focp-v4.0-art-dev%40sha256%3Acdddb567722216da30d09e0b8ec533e7a60b827b01e26ecb61d32999366c4b94%0A%20%20%20%20args%3A%0A%20%20%20%20-%20%22--conf%22%0A%20%20%20%20-%20%22%2Fetc%2Fcoredns%2FCorefile%22%0A%20%20%20%20resources%3A%0A%20%20%20%20%20%20requests%3A%0A%20%20%20%20%20%20%20%20cpu%3A%20100m%0A%20%20%20%20%20%20%20%20memory%3A%20200Mi%0A%20%20%20%20volumeMounts%3A%0A%20%20%20%20-%20name%3A%20conf-dir%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fetc%2Fcoredns%22%0A%20%20%20%20readinessProbe%3A%0A%20%20%20%20%20%20httpGet%3A%0A%20%20%20%20%20%20%20%20path%3A%20%2Fhealth%0A%20%20%20%20%20%20%20%20port%3A%2018080%0A%20%20%20%20%20%20%20%20scheme%3A%20HTTP%0A%20%20%20%20%20%20initialDelaySeconds%3A%2010%0A%20%20%20%20%20%20periodSeconds%3A%2010%0A%20%20%20%20%20%20successThreshold%3A%201%0A%20%20%20%20%20%20failureThreshold%3A%203%0A%20%20%20%20%20%20timeoutSeconds%3A%2010%0A%20%20%20%20livenessProbe%3A%0A%20%20%20%20%20%20httpGet%3A%0A%20%20%20%20%20%20%20%20path%3A%20%2Fhealth%0A%20%20%20%20%20%20%20%20port%3A%2018080%0A%20%20%20%20%20%20%20%20scheme%3A%20HTTP%0A%20%20%20%20%20%20initialDelaySeconds%3A%2060%0A%20%20%20%20%20%20timeoutSeconds%3A%205%0A%20%20%20%20%20%20successThreshold%3A%201%0A%20%20%20%20%20%20failureThreshold%3A%205%0A%20%20%20%20terminationMessagePolicy%3A%20FallbackToLogsOnError%0A%20%20%20%20imagePullPolicy%3A%20IfNotPresent%0A%20%20-%20name%3A%20coredns-monitor%0A%20%20%20%20securityContext%3A%0A%20%20%20%20%20%20privileged%3A%20true%0A%20%20%20%20image%3A%20quay.io%2Fopenshift-release-dev%2Focp-v4.0-art-dev%40sha256%3Aff3a10edc0f7dbacc3f053caaca0c69dc7bf80767677bd2c2ebea9226db332c1%0A%20%20%20%20command%3A%0A%20%20%20%20-%20corednsmonitor%0A%20%20%20%20-%20%22%2Fetc%2Fkubernetes%2Fkubeconfig%22%0A%20%20%20%20-%20%22%2Fconfig%2FCorefile.tmpl%22%0A%20%20%20%20-%20%22%2Fetc%2Fcoredns%2FCorefile%22%0A%20%20%20%20-%20%22--api-vip%22%0A%20%20%20%20-%20%22192.168.123.5%22%0A%20%20%20%20-%20%22--dns-vip%22%0A%20%20%20%20-%20%22192.168.123.6%22%0A%20%20%20%20-%20%22--ingress-vip%22%0A%20%20%20%20-%20%22192.168.123.10%22%0A%20%20%20%20resources%3A%0A%20%20%20%20%20%20requests%3A%0A%20%20%20%20%20%20%20%20cpu%3A%20100m%0A%20%20%20%20%20%20%20%20memory%3A%20200Mi%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20volumeMounts%3A%0A%20%20%20%20-%20name%3A%20kubeconfig%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fetc%2Fkubernetes%2Fkubeconfig%22%0A%20%20%20%20-%20name%3A%20resource-dir%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fconfig%22%0A%20%20%20%20-%20name%3A%20conf-dir%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fetc%2Fcoredns%22%0A%20%20%20%20-%20name%3A%20nm-resolv%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fvar%2Frun%2FNetworkManager%22%0A%20%20%20%20imagePullPolicy%3A%20IfNotPresent%20%20%20%20%20%20%20%20%0A%20%20hostNetwork%3A%20true%0A%20%20tolerations%3A%0A%20%20-%20operator%3A%20Exists%0A%20%20priorityClassName%3A%20system-node-critical%0Astatus%3A%20%7B%7D%0A
verification: {}
filesystem: root
mode: 420
path: /etc/kubernetes/manifests/coredns.yaml
- contents:
source: data:,%23%20TODO%3A%20Improve%20this%20check.%20The%20port%20is%20assumed%20to%20be%20alive.%0A%23%20Need%20to%20assess%20what%20is%20the%20ramification%20if%20the%20port%20is%20not%20there.%0Avrrp_script%20chk_ingress%20%7B%0A%20%20%20%20script%20%22%2Fusr%2Fbin%2Fcurl%20-o%20%2Fdev%2Fnull%20-kLs%20http%3A%2F%2F0%3A1936%2Fhealthz%22%0A%20%20%20%20interval%201%0A%20%20%20%20weight%2050%0A%7D%0A%0Avrrp_instance%20%7B%7B%20.Cluster.Name%20%7D%7D_INGRESS%20%7B%0A%20%20%20%20state%20BACKUP%0A%20%20%20%20interface%20%7B%7B%20.VRRPInterface%20%7D%7D%0A%20%20%20%20virtual_router_id%20%7B%7B%20.Cluster.IngressVirtualRouterID%20%7D%7D%0A%20%20%20%20priority%2040%0A%20%20%20%20advert_int%201%0A%20%20%20%20authentication%20%7B%0A%20%20%20%20%20%20%20%20auth_type%20PASS%0A%20%20%20%20%20%20%20%20auth_pass%20%7B%7B%20.Cluster.Name%20%7D%7D_ingress_vip%0A%20%20%20%20%7D%0A%20%20%20%20virtual_ipaddress%20%7B%0A%20%20%20%20%20%20%20%20%7B%7B%20.Cluster.IngressVIP%20%7D%7D%2F%7B%7B%20.Cluster.VIPNetmask%20%7D%7D%0A%20%20%20%20%7D%0A%20%20%20%20track_script%20%7B%0A%20%20%20%20%20%20%20%20chk_ingress%0A%20%20%20%20%7D%0A%7D%0A
verification: {}
filesystem: root
mode: 420
path: /etc/kubernetes/static-pod-resources/keepalived/keepalived.conf.tmpl
- contents:
source: data:,kind%3A%20Pod%0AapiVersion%3A%20v1%0Ametadata%3A%0A%20%20name%3A%20keepalived%0A%20%20namespace%3A%20openshift-kni-infra%0A%20%20creationTimestamp%3A%0A%20%20deletionGracePeriodSeconds%3A%2065%0A%20%20labels%3A%0A%20%20%20%20app%3A%20kni-infra-vrrp%0Aspec%3A%0A%20%20volumes%3A%0A%20%20-%20name%3A%20resource-dir%0A%20%20%20%20hostPath%3A%0A%20%20%20%20%20%20path%3A%20%22%2Fetc%2Fkubernetes%2Fstatic-pod-resources%2Fkeepalived%22%0A%20%20-%20name%3A%20kubeconfig%0A%20%20%20%20hostPath%3A%0A%20%20%20%20%20%20path%3A%20%22%2Fetc%2Fkubernetes%2Fkubeconfig%22%0A%20%20-%20name%3A%20conf-dir%0A%20%20%20%20hostPath%3A%0A%20%20%20%20%20%20path%3A%20%22%2Fetc%2Fkeepalived%22%0A%20%20-%20name%3A%20run-dir%0A%20%20%20%20empty-dir%3A%20%7B%7D%0A%20%20containers%3A%0A%20%20-%20name%3A%20keepalived%0A%20%20%20%20securityContext%3A%0A%20%20%20%20%20%20privileged%3A%20true%0A%20%20%20%20image%3A%20quay.io%2Fopenshift-release-dev%2Focp-v4.0-art-dev%40sha256%3A6866ac24a9ed075c606a0655e5280948035a0a9e685b541dabdd92400eef1a6d%0A%20%20%20%20env%3A%0A%20%20%20%20%20%20-%20name%3A%20NSS_SDB_USE_CACHE%0A%20%20%20%20%20%20%20%20value%3A%20%22no%22%0A%20%20%20%20command%3A%0A%20%20%20%20-%20%2Fbin%2Fbash%0A%20%20%20%20-%20-c%0A%20%20%20%20-%20%7C%0A%20%20%20%20%20%20%23%2Fbin%2Fbash%0A%20%20%20%20%20%20reload_keepalived()%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20if%20pid%3D%24(pgrep%20-o%20keepalived)%3B%20then%0A%20%20%20%20%20%20%20%20%20%20%20%20kill%20-s%20SIGHUP%20%22%24pid%22%0A%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%20%20%2Fusr%2Fsbin%2Fkeepalived%20-f%20%2Fetc%2Fkeepalived%2Fkeepalived.conf%20--dont-fork%20--vrrp%20--log-detail%20--log-console%20%26%0A%20%20%20%20%20%20%20%20fi%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20msg_handler()%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20while%20read%20-r%20line%3B%20do%0A%20%20%20%20%20%20%20%20%20%20echo%20%22The%20client%20sent%3A%20%24line%22%20%3E%262%0A%20%20%20%20%20%20%20%20%20%20%23%20currently%20only%20'reload'%20msg%20is%20supported%0A%20%20%20%20%20%20%20%20%20%20if%20%5B%20%22%24line%22%20%3D%20reload%20%5D%3B%20then%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20reload_keepalived%0A%20%20%20%20%20%20%20%20%20%20fi%0A%20%20%20%20%20%20%20%20done%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20set%20-ex%0A%20%20%20%20%20%20declare%20-r%20keepalived_sock%3D%22%2Fvar%2Frun%2Fkeepalived%2Fkeepalived.sock%22%0A%20%20%20%20%20%20export%20-f%20msg_handler%0A%20%20%20%20%20%20export%20-f%20reload_keepalived%0A%20%20%20%20%20%20if%20%5B%20-s%20%22%2Fetc%2Fkeepalived%2Fkeepalived.conf%22%20%5D%3B%20then%0A%20%20%20%20%20%20%20%20%20%20%2Fusr%2Fsbin%2Fkeepalived%20-f%20%2Fetc%2Fkeepalived%2Fkeepalived.conf%20--dont-fork%20--vrrp%20--log-detail%20--log-console%20%26%0A%20%20%20%20%20%20fi%0A%0A%20%20%20%20%20%20rm%20-f%20%22%24keepalived_sock%22%0A%20%20%20%20%20%20socat%20UNIX-LISTEN%3A%24%7Bkeepalived_sock%7D%2Cfork%20system%3A'bash%20-c%20msg_handler'%0A%20%20%20%20resources%3A%0A%20%20%20%20%20%20requests%3A%0A%20%20%20%20%20%20%20%20cpu%3A%20100m%0A%20%20%20%20%20%20%20%20memory%3A%20200Mi%0A%20%20%20%20volumeMounts%3A%0A%20%20%20%20-%20name%3A%20conf-dir%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fetc%2Fkeepalived%22%0A%20%20%20%20-%20name%3A%20run-dir%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fvar%2Frun%2Fkeepalived%22%0A%20%20%20%20livenessProbe%3A%0A%20%20%20%20%20%20exec%3A%0A%20%20%20%20%20%20%20%20command%3A%0A%20%20%20%20%20%20%20%20-%20%2Fbin%2Fsh%0A%20%20%20%20%20%20%20%20-%20-c%0A%20%20%20%20%20%20%20%20-%20%7C%0A%20%20%20%20%20%20%20%20%20%20%5B%5B%20-s%20%2Fetc%2Fkeepalived%2Fkeepalived.conf%20%5D%5D%20%7C%7C%20%5C%0A%20%20%20%20%20%20%20%20%20%20kill%20-s%20SIGUSR1%20%22%24(pgrep%20-o%20keepalived)%22%20%26%26%20!%20grep%20-q%20%22State%20%3D%20FAULT%22%20%2Ftmp%2Fkeepalived.data%0A%20%20%20%20%20%20initialDelaySeconds%3A%2010%0A%20%20%20%20terminationMessagePolicy%3A%20FallbackToLogsOnError%0A%20%20%20%20imagePullPolicy%3A%20IfNotPresent%0A%20%20-%20name%3A%20keepalived-monitor%0A%20%20%20%20image%3A%20quay.io%2Fopenshift-release-dev%2Focp-v4.0-art-dev%40sha256%3Aff3a10edc0f7dbacc3f053caaca0c69dc7bf80767677bd2c2ebea9226db332c1%0A%20%20%20%20command%3A%0A%20%20%20%20-%20dynkeepalived%0A%20%20%20%20-%20%22%2Fetc%2Fkubernetes%2Fkubeconfig%22%0A%20%20%20%20-%20%22%2Fconfig%2Fkeepalived.conf.tmpl%22%0A%20%20%20%20-%20%22%2Fetc%2Fkeepalived%2Fkeepalived.conf%22%0A%20%20%20%20-%20%22--api-vip%22%0A%20%20%20%20-%20%22192.168.123.5%22%0A%20%20%20%20-%20%22--dns-vip%22%0A%20%20%20%20-%20%22192.168.123.6%22%0A%20%20%20%20-%20%22--ingress-vip%22%0A%20%20%20%20-%20%22192.168.123.10%22%0A%20%20%20%20resources%3A%0A%20%20%20%20%20%20requests%3A%0A%20%20%20%20%20%20%20%20cpu%3A%20150m%0A%20%20%20%20%20%20%20%20memory%3A%201Gi%0A%20%20%20%20volumeMounts%3A%0A%20%20%20%20-%20name%3A%20resource-dir%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fconfig%22%0A%20%20%20%20-%20name%3A%20kubeconfig%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fetc%2Fkubernetes%2Fkubeconfig%22%0A%20%20%20%20-%20name%3A%20conf-dir%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fetc%2Fkeepalived%22%0A%20%20%20%20-%20name%3A%20run-dir%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fvar%2Frun%2Fkeepalived%22%0A%20%20%20%20imagePullPolicy%3A%20IfNotPresent%0A%20%20hostNetwork%3A%20true%0A%20%20tolerations%3A%0A%20%20-%20operator%3A%20Exists%0A%20%20priorityClassName%3A%20system-node-critical%0Astatus%3A%20%7B%7D%0A
verification: {}
filesystem: root
mode: 420
path: /etc/kubernetes/manifests/keepalived.yaml
- contents:
source: data:,bind_address%20%3D%20%22%7B%7B%20.NonVirtualIP%20%7D%7D%22%0Acollision_avoidance%20%3D%20%22hostname%22%0A%0Aservice%20%7B%0A%20%20%20%20name%20%3D%20%22%7B%7B%20.Cluster.Name%20%7D%7D%20Workstation%22%0A%20%20%20%20host_name%20%3D%20%22%7B%7B%20.ShortHostname%20%7D%7D.local.%22%0A%20%20%20%20type%20%3D%20%22_workstation._tcp%22%0A%20%20%20%20domain%20%3D%20%22local.%22%0A%20%20%20%20port%20%3D%2042424%0A%20%20%20%20ttl%20%3D%203200%0A%7D%0A
verification: {}
filesystem: root
mode: 420
path: /etc/kubernetes/static-pod-resources/mdns/config.hcl.tmpl
- contents:
source: data:,kind%3A%20Pod%0AapiVersion%3A%20v1%0Ametadata%3A%0A%20%20name%3A%20mdns-publisher%0A%20%20namespace%3A%20openshift-kni-infra%0A%20%20creationTimestamp%3A%0A%20%20deletionGracePeriodSeconds%3A%2065%0A%20%20labels%3A%0A%20%20%20%20app%3A%20kni-infra-mdns%0Aspec%3A%0A%20%20volumes%3A%0A%20%20-%20name%3A%20resource-dir%0A%20%20%20%20hostPath%3A%0A%20%20%20%20%20%20path%3A%20%22%2Fetc%2Fkubernetes%2Fstatic-pod-resources%2Fmdns%22%0A%20%20-%20name%3A%20kubeconfig%0A%20%20%20%20hostPath%3A%0A%20%20%20%20%20%20path%3A%20%22%2Fetc%2Fkubernetes%2Fkubeconfig%22%0A%20%20-%20name%3A%20conf-dir%0A%20%20%20%20hostPath%3A%0A%20%20%20%20%20%20path%3A%20%22%2Fetc%2Fmdns%22%0A%20%20initContainers%3A%0A%20%20-%20name%3A%20verify-hostname%0A%20%20%20%20image%3A%20quay.io%2Fopenshift-release-dev%2Focp-v4.0-art-dev%40sha256%3Aff3a10edc0f7dbacc3f053caaca0c69dc7bf80767677bd2c2ebea9226db332c1%0A%20%20%20%20env%3A%0A%20%20%20%20%20%20-%20name%3A%20RUNTIMECFG_HOSTNAME_PATH%0A%20%20%20%20%20%20%20%20value%3A%20%22%2Fetc%2Fmdns%2Fhostname%22%0A%20%20%20%20command%3A%0A%20%20%20%20-%20%22%2Fbin%2Fbash%22%0A%20%20%20%20-%20%22-c%22%0A%20%20%20%20-%20%7C%0A%20%20%20%20%20%20%23!%2Fbin%2Fbash%0A%20%20%20%20%20%20set%20-xv%0A%20%20%20%20%20%20function%20get_hostname()%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20if%20%5B%5B%20-s%20%24RUNTIMECFG_HOSTNAME_PATH%20%5D%5D%3B%20then%0A%20%20%20%20%20%20%20%20%20%20cat%20%24RUNTIMECFG_HOSTNAME_PATH%0A%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%23%20if%20hostname%20wasn't%20updated%20by%20NM%20script%2C%20read%20hostname%0A%20%20%20%20%20%20%20%20%20%20hostname%0A%20%20%20%20%20%20%20%20fi%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20while%20%5B%5B%20%22%24(get_hostname)%22%20%3D~%20%5Elocalhost(.localdomain)%3F%24%20%5D%5D%3B%20do%0A%20%20%20%20%20%20%20%20echo%20%22hostname%20is%20still%20set%20to%20a%20default%20value%22%0A%20%20%20%20%20%20%20%20sleep%201%0A%20%20%20%20%20%20done%0A%20%20%20%20volumeMounts%3A%0A%20%20%20%20-%20name%3A%20conf-dir%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fetc%2Fmdns%22%0A%20%20-%20name%3A%20render-config%0A%20%20%20%20image%3A%20quay.io%2Fopenshift-release-dev%2Focp-v4.0-art-dev%40sha256%3Aff3a10edc0f7dbacc3f053caaca0c69dc7bf80767677bd2c2ebea9226db332c1%0A%20%20%20%20env%3A%0A%20%20%20%20%20%20-%20name%3A%20RUNTIMECFG_HOSTNAME_PATH%0A%20%20%20%20%20%20%20%20value%3A%20%22%2Fetc%2Fmdns%2Fhostname%22%0A%20%20%20%20command%3A%0A%20%20%20%20-%20runtimecfg%0A%20%20%20%20-%20render%0A%20%20%20%20-%20%22%2Fetc%2Fkubernetes%2Fkubeconfig%22%0A%20%20%20%20-%20%22--api-vip%22%0A%20%20%20%20-%20%22192.168.123.5%22%0A%20%20%20%20-%20%22--dns-vip%22%0A%20%20%20%20-%20%22192.168.123.6%22%0A%20%20%20%20-%20%22--ingress-vip%22%0A%20%20%20%20-%20%22192.168.123.10%22%0A%20%20%20%20-%20%22%2Fconfig%22%0A%20%20%20%20-%20%22--out-dir%22%0A%20%20%20%20-%20%22%2Fetc%2Fmdns%22%0A%20%20%20%20-%20%22--verbose%22%0A%20%20%20%20resources%3A%20%7B%7D%0A%20%20%20%20volumeMounts%3A%0A%20%20%20%20-%20name%3A%20kubeconfig%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fetc%2Fkubernetes%2Fkubeconfig%22%0A%20%20%20%20-%20name%3A%20resource-dir%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fconfig%22%0A%20%20%20%20-%20name%3A%20conf-dir%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fetc%2Fmdns%22%0A%20%20%20%20imagePullPolicy%3A%20IfNotPresent%0A%20%20containers%3A%0A%20%20-%20name%3A%20mdns-publisher%0A%20%20%20%20image%3A%20quay.io%2Fopenshift-release-dev%2Focp-v4.0-art-dev%40sha256%3Aac6c7be0c0d8a5e1d56fd76d2528a9b3850ae539c260d03c51ff0c7642fe7028%0A%20%20%20%20args%3A%0A%20%20%20%20-%20%22--debug%22%0A%20%20%20%20resources%3A%0A%20%20%20%20%20%20requests%3A%0A%20%20%20%20%20%20%20%20cpu%3A%20100m%0A%20%20%20%20%20%20%20%20memory%3A%20200Mi%0A%20%20%20%20volumeMounts%3A%0A%20%20%20%20-%20name%3A%20conf-dir%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fetc%2Fmdns%22%0A%20%20%20%20livenessProbe%3A%0A%20%20%20%20%20%20exec%3A%0A%20%20%20%20%20%20%20%20command%3A%0A%20%20%20%20%20%20%20%20-%20pgrep%0A%20%20%20%20%20%20%20%20-%20mdns-publisher%0A%20%20%20%20%20%20initialDelaySeconds%3A%2010%0A%20%20%20%20terminationMessagePolicy%3A%20FallbackToLogsOnError%0A%20%20%20%20imagePullPolicy%3A%20IfNotPresent%0A%20%20hostNetwork%3A%20true%0A%20%20tolerations%3A%0A%20%20-%20operator%3A%20Exists%0A%20%20priorityClassName%3A%20system-node-critical%0Astatus%3A%20%7B%7D%0A
verification: {}
filesystem: root
mode: 420
path: /etc/kubernetes/manifests/mdns-publisher.yaml
- contents:
source: data:,%23!%2Fusr%2Flibexec%2Fplatform-python%0A%23%20%2F*%20vim%3A%20set%20filetype%3Dpython%20%3A%20*%2F%0Aimport%20collections%0Aimport%20itertools%0Aimport%20socket%0Aimport%20struct%0Aimport%20subprocess%0Aimport%20sys%0Afrom%20typing%20import%20Callable%2C%20Iterable%2C%20Iterator%2C%20List%2C%20Optional%2C%20Tuple%2C%20Type%2C%20TypeVar%0A%0A%0Aclass%20SubnetNotFoundException(Exception)%3A%0A%20%20%20%20%22%22%22%0A%20%20%20%20Exception%20raised%20when%20no%20subnet%20in%20the%20systems%20ifaces%20is%20on%20the%20VIP%20subnet%0A%20%20%20%20%22%22%22%0A%0A%0Aclass%20AddressNotFoundException(Exception)%3A%0A%20%20%20%20%22%22%22%0A%20%20%20%20Exception%20raised%20when%20no%20Address%20in%20the%20systems%20ifaces%20is%20on%20the%20VIP%20subnet%0A%20%20%20%20%22%22%22%0A%0A%0ATA%20%3D%20TypeVar('TA'%2C%20bound%3D'Address')%0A%0A%0Aclass%20Address%3A%0A%20%20%20%20def%20__init__(self%2C%20cidr%3A%20str%2C%20name%3A%20str%2C%20family%3A%20str%2C%20index%3A%20int%20%3D%20-1%2C%20scope%3A%20str%20%3D%20''%2C%20flags%3A%20Iterable%5Bstr%5D%20%3D%20tuple()%2C%20label%3A%20Optional%5Bstr%5D%20%3D%20None)%20-%3E%20None%3A%0A%20%20%20%20%20%20%20%20self.index%20%3D%20index%0A%20%20%20%20%20%20%20%20self.name%20%3D%20name%0A%20%20%20%20%20%20%20%20self.family%20%3D%20family%0A%20%20%20%20%20%20%20%20self.cidr%20%3D%20cidr%0A%20%20%20%20%20%20%20%20self.scope%20%3D%20scope%0A%20%20%20%20%20%20%20%20self.flags%20%3D%20flags%0A%20%20%20%20%20%20%20%20self.label%20%3D%20label%0A%0A%20%20%20%20%40classmethod%0A%20%20%20%20def%20from_line(cls%3A%20Type%5BTA%5D%2C%20line%3A%20str)%20-%3E%20TA%3A%0A%20%20%20%20%20%20%20%20tokens%20%3D%20collections.deque(line.split())%0A%20%20%20%20%20%20%20%20index%20%3D%20int(tokens.popleft()%5B%3A-1%5D)%0A%20%20%20%20%20%20%20%20name%20%3D%20tokens.popleft()%0A%20%20%20%20%20%20%20%20family%20%3D%20tokens.popleft()%0A%20%20%20%20%20%20%20%20cidr%20%3D%20tokens.popleft()%0A%20%20%20%20%20%20%20%20_%20%3D%20tokens.popleft()%20%20%23%20dump%20scope%20label%0A%20%20%20%20%20%20%20%20scope%20%3D%20tokens.popleft()%0A%20%20%20%20%20%20%20%20flags%20%3D%20%5B%5D%0A%20%20%20%20%20%20%20%20label%20%3D%20None%0A%20%20%20%20%20%20%20%20while%20True%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20token%20%3D%20tokens.popleft()%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20token%5B-1%5D%20%3D%3D%20'%5C%5C'%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20len(token)%20%3E%201%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20label%20%3D%20token%5B%3A-1%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%0A%20%20%20%20%20%20%20%20%20%20%20%20flags.append(token)%0A%20%20%20%20%20%20%20%20return%20cls(cidr%2C%20name%2C%20family%2C%20index%2C%20scope%2C%20flags%2C%20label)%0A%0A%20%20%20%20def%20__str__(self)%20-%3E%20str%3A%0A%20%20%20%20%20%20%20%20return%20f'%7Bself.__class__.__name__%7D(%7Bself.cidr%7D%2C%20dev%3D%7Bself.name%7D)'%0A%0A%0ATR%20%3D%20TypeVar('TR'%2C%20bound%3D'V6Route')%0A%0A%0Aclass%20V6Route%3A%0A%20%20%20%20def%20__init__(self%2C%20destination%3A%20str%2C%20dev%3A%20Optional%5Bstr%5D%20%3D%20None%2C%20proto%3A%20Optional%5Bstr%5D%20%3D%20None%2C%20metric%3A%20Optional%5Bint%5D%20%3D%20None%2C%20pref%3A%20Optional%5Bstr%5D%20%3D%20None%2C%20via%3A%20Optional%5Bstr%5D%20%3D%20None%2C%20**kwargs)%20-%3E%20None%3A%0A%20%20%20%20%20%20%20%20%20self.destination%3A%20str%20%3D%20destination%0A%20%20%20%20%20%20%20%20%20self.via%3A%20Optional%5Bstr%5D%20%3D%20via%0A%20%20%20%20%20%20%20%20%20self.dev%3A%20Optional%5Bstr%5D%20%3D%20dev%0A%20%20%20%20%20%20%20%20%20self.proto%3A%20Optional%5Bstr%5D%20%3D%20proto%0A%20%20%20%20%20%20%20%20%20self.metric%3A%20Optional%5Bint%5D%20%3D%20metric%0A%20%20%20%20%20%20%20%20%20self.pref%3A%20Optional%5Bstr%5D%20%3D%20pref%0A%0A%20%20%20%20%40classmethod%0A%20%20%20%20def%20from_line(cls%3A%20Type%5BTR%5D%2C%20line%3A%20str)%20-%3E%20TR%3A%0A%20%20%20%20%20%20%20%20items%20%3D%20%5Bi%20for%20i%20in%20line.split()%20if%20i%20!%3D%20'%5C%5C'%5D%0A%20%20%20%20%20%20%20%20dest%20%3D%20items%5B0%5D%0A%20%20%20%20%20%20%20%20if%20dest%20%3D%3D%20'default'%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20dest%20%3D%20'%3A%3A%2F0'%0A%20%20%20%20%20%20%20%20attrs%20%3D%20dict(itertools.zip_longest(*%5Biter(items%5B1%3A%5D)%5D*2%2C%20fillvalue%3DNone))%0A%20%20%20%20%20%20%20%20attrs%5B'destination'%5D%20%3D%20dest%0A%20%20%20%20%20%20%20%20return%20cls(**attrs)%0A%0A%20%20%20%20def%20__str__(self)%20-%3E%20str%3A%0A%20%20%20%20%20%20%20%20return%20f'%7Bself.__class__.__name__%7D(%7Bself.destination%7D%2C%20dev%3D%7Bself.dev%7D)'%0A%0A%0ASUBNET_MASK_LEN%20%3D%20%7B%0A%20%20%20%20'inet'%3A%2032%2C%0A%20%20%20%20'inet6'%3A%20128%0A%7D%0A%0A%0Adef%20ntoa(family%3A%20str%2C%20num%3A%20int)%20-%3E%20str%3A%0A%20%20%20%20if%20family%20%3D%3D%20'inet'%3A%0A%20%20%20%20%20%20%20%20result%20%3D%20socket.inet_ntoa(struct.pack(%22!I%22%2C%20num))%0A%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20lo_half%20%3D%20num%20%26%200xFFFFFFFFFFFFFFFF%0A%20%20%20%20%20%20%20%20hi_half%20%3D%20num%20%3E%3E%2064%0A%20%20%20%20%20%20%20%20result%20%3D%20socket.inet_ntop(socket.AF_INET6%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20struct.pack(%22%3EQQ%22%2C%20hi_half%2C%20lo_half))%0A%20%20%20%20return%20result%0A%0A%0Adef%20aton(family%3A%20str%2C%20rep%3A%20str)%20-%3E%20int%3A%0A%20%20%20%20if%20family%20%3D%3D%20'inet'%3A%0A%20%20%20%20%20%20%20%20result%20%3D%20struct.unpack(%22!I%22%2C%20socket.inet_aton(rep))%5B0%5D%0A%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20hi_half%2C%20lo_half%20%3D%20struct.unpack(%22%3EQQ%22%2C%20socket.inet_pton(socket.AF_INET6%2C%20rep))%0A%20%20%20%20%20%20%20%20result%20%3D%20(hi_half%20%3C%3C%2064)%20%7C%20lo_half%0A%20%20%20%20return%20result%0A%0A%0Adef%20addr_subnet_int_min_max(addr%3A%20Address)%20-%3E%20Tuple%5Bint%2C%20int%5D%3A%0A%20%20%20%20ip_addr%2C%20prefix%20%3D%20addr.cidr.split('%2F')%0A%20%20%20%20ip_int%20%3D%20aton(addr.family%2C%20ip_addr)%0A%0A%20%20%20%20prefix_int%20%3D%20int(prefix)%0A%20%20%20%20mask%20%3D%20int('1'%20*%20prefix_int%20%2B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'0'%20*%20(SUBNET_MASK_LEN%5Baddr.family%5D%20-%20prefix_int)%2C%202)%0A%0A%20%20%20%20subnet_ip_int_min%20%3D%20ip_int%20%26%20mask%0A%0A%20%20%20%20remainder%20%3D%20'1'%20*%20(SUBNET_MASK_LEN%5Baddr.family%5D%20-%20prefix_int)%0A%20%20%20%20subnet_ip_int_max%20%3D%20subnet_ip_int_min%20%7C%20(%0A%20%20%20%20%20%20%20%200%20if%20remainder%20%3D%3D%20''%20else%20int(remainder%2C%202))%0A%20%20%20%20return%20subnet_ip_int_min%2C%20subnet_ip_int_max%0A%0A%0Adef%20vip_subnet_and_addrs_in_it(vip%3A%20str%2C%20addrs%3A%20List%5BAddress%5D)%20-%3E%20Tuple%5BAddress%2C%20List%5BAddress%5D%5D%3A%0A%20%20%20%20try%3A%0A%20%20%20%20%20%20%20%20vip_int%20%3D%20aton('inet'%2C%20vip)%0A%20%20%20%20except%20Exception%3A%0A%20%20%20%20%20%20%20%20vip_int%20%3D%20aton('inet6'%2C%20vip)%0A%20%20%20%20subnet%20%3D%20None%0A%20%20%20%20candidates%20%3D%20%5B%5D%0A%20%20%20%20for%20addr%20in%20addrs%3A%0A%20%20%20%20%20%20%20%20subnet_ip_int_min%2C%20subnet_ip_int_max%20%3D%20addr_subnet_int_min_max(addr)%0A%20%20%20%20%20%20%20%20subnet_ip%20%3D%20ntoa(addr.family%2C%20subnet_ip_int_min)%0A%20%20%20%20%20%20%20%20subnet_ip_max%20%3D%20ntoa(addr.family%2C%20subnet_ip_int_max)%0A%0A%20%20%20%20%20%20%20%20sys.stderr.write('Is%20%25s%20between%20%25s%20and%20%25s%5Cn'%20%25%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(vip%2C%20subnet_ip%2C%20subnet_ip_max))%0A%20%20%20%20%20%20%20%20if%20subnet_ip_int_min%20%3C%20vip_int%20%3C%20subnet_ip_int_max%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20subnet_ip%20%3D%20ntoa(addr.family%2C%20subnet_ip_int_min)%0A%20%20%20%20%20%20%20%20%20%20%20%20subnet%20%3D%20Address(name%3D%22subnet%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20cidr%3D'%25s%2F%25s'%20%25%20(subnet_ip%2C%20addr.cidr.split('%2F')%5B1%5D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20family%3Daddr.family%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20scope%3D'')%0A%20%20%20%20%20%20%20%20%20%20%20%20candidates.append(addr)%0A%20%20%20%20if%20subnet%20is%20None%3A%0A%20%20%20%20%20%20%20%20raise%20SubnetNotFoundException()%0A%20%20%20%20return%20subnet%2C%20candidates%0A%0A%0Adef%20interface_addrs(filters%3A%20Optional%5BIterable%5BCallable%5B%5BAddress%5D%2C%20bool%5D%5D%5D%20%3D%20None)%20-%3E%20Iterator%5BAddress%5D%3A%0A%20%20%20%20out%20%3D%20subprocess.check_output(%5B%22ip%22%2C%20%22-o%22%2C%20%22addr%22%2C%20%22show%22%5D%2C%20encoding%3Dsys.stdout.encoding)%0A%20%20%20%20for%20addr%20in%20(Address.from_line(line)%20for%20line%20in%20out.splitlines())%3A%0A%20%20%20%20%20%20%20%20if%20not%20filters%20or%20all(f(addr)%20for%20f%20in%20filters)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(addr.family%20%3D%3D%20'inet6'%20and%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20int(addr.cidr.split('%2F')%5B1%5D)%20%3D%3D%20SUBNET_MASK_LEN%5Baddr.family%5D)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20route_out%20%3D%20subprocess.check_output(%5B%22ip%22%2C%20%22-o%22%2C%20%22-6%22%2C%20%22route%22%2C%20%22show%22%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20encoding%3Dsys.stdout.encoding)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%20route%20in%20(V6Route.from_line(rline)%20for%20rline%20in%20route_out.splitlines())%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(route.dev%20%3D%3D%20addr.name%20and%20route.proto%20%3D%3D%20'ra'%20and%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20route.destination%20!%3D%20'%3A%3A%2F0')%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20sys.stderr.write('Checking%20%25s%20for%20%25s%5Cn'%20%25%20(route%2C%20addr))%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20route_net%20%3D%20Address(name%3Droute.dev%2C%20cidr%3Droute.destination%2C%20family%3D'inet6')%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20route_filter%20%3D%20in_subnet(route_net)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20route_filter(addr)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ip_addr%20%3D%20addr.cidr.split('%2F')%5B0%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20route_prefix%20%3D%20route_net.cidr.split('%2F')%5B1%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20cidr%20%3D%20'%25s%2F%25s'%20%25%20(ip_addr%2C%20route_prefix)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20yield%20Address(cidr%3Dcidr%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20family%3Daddr.family%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20name%3Daddr.name)%0A%20%20%20%20%20%20%20%20%20%20%20%20yield%20addr%0A%0A%0Adef%20non_host_scope(addr%3A%20Address)%20-%3E%20bool%3A%0A%20%20%20%20if%20addr.scope%20%3D%3D%20'host'%3A%0A%20%20%20%20%20%20%20%20sys.stderr.write(f'Filtering%20out%20%7Baddr%7D%20due%20to%20it%20having%20host%20scope%5Cn')%0A%20%20%20%20%20%20%20%20res%20%3D%20False%0A%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20res%20%3D%20True%0A%20%20%20%20return%20res%0A%0A%0Adef%20non_deprecated(addr%3A%20Address)%20-%3E%20bool%3A%0A%20%20%20%20if%20'deprecated'%20in%20addr.flags%3A%0A%20%20%20%20%20%20%20%20sys.stderr.write(f'Filtering%20out%20%7Baddr%7D%20due%20to%20it%20being%20deprecated%5Cn')%0A%20%20%20%20%20%20%20%20res%20%3D%20False%0A%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20res%20%3D%20True%0A%20%20%20%20return%20res%0A%0A%0Adef%20non_secondary(addr%3A%20Address)%20-%3E%20bool%3A%0A%20%20%20%20if%20'secondary'%20in%20addr.flags%3A%0A%20%20%20%20%20%20%20%20sys.stderr.write(f'Filtering%20out%20%7Baddr%7D%20due%20to%20it%20being%20secondary%5Cn')%0A%20%20%20%20%20%20%20%20res%20%3D%20False%0A%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20res%20%3D%20True%0A%20%20%20%20return%20res%0A%0A%0Adef%20in_subnet(subnet%3A%20Address)%20-%3E%20Callable%5B%5BAddress%5D%2C%20bool%5D%3A%0A%20%20%20%20subnet_ip_int_min%2C%20subnet_ip_int_max%20%3D%20addr_subnet_int_min_max(subnet)%0A%0A%20%20%20%20def%20filt(addr%3A%20Address)%20-%3E%20bool%3A%0A%20%20%20%20%20%20%20%20ip_addr%2C%20_%20%3D%20addr.cidr.split('%2F')%0A%20%20%20%20%20%20%20%20ip_int%20%3D%20aton(addr.family%2C%20ip_addr)%0A%20%20%20%20%20%20%20%20return%20subnet_ip_int_min%20%3C%20ip_int%20%3C%20subnet_ip_int_max%0A%20%20%20%20return%20filt%0A%0A%0Adef%20main()%20-%3E%20None%3A%0A%20%20%20%20api_vip%20%3D%20sys.argv%5B1%5D%0A%20%20%20%20vips%20%3D%20set(sys.argv%5B1%3A4%5D)%0A%20%20%20%20filters%20%3D%20(non_host_scope%2C%20non_deprecated%2C%20non_secondary)%0A%20%20%20%20iface_addrs%20%3D%20list(interface_addrs(filters))%0A%20%20%20%20try%3A%0A%20%20%20%20%20%20%20%20subnet%2C%20candidates%20%3D%20vip_subnet_and_addrs_in_it(api_vip%2C%20iface_addrs)%0A%20%20%20%20%20%20%20%20sys.stderr.write('VIP%20Subnet%20%25s%5Cn'%20%25%20subnet.cidr)%0A%0A%20%20%20%20%20%20%20%20for%20addr%20in%20candidates%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20ip_addr%2C%20_%20%3D%20addr.cidr.split('%2F')%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20ip_addr%20not%20in%20vips%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20print(ip_addr)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20sys.exit(0)%0A%20%20%20%20except%20SubnetNotFoundException%3A%0A%20%20%20%20%20%20%20%20sys.exit(1)%0A%0A%0Aif%20__name__%20%3D%3D%20'__main__'%3A%0A%20%20%20%20main()%0A
verification: {}
filesystem: root
mode: 493
path: /usr/local/bin/non_virtual_ip
- contents:
source: data:,r%20%2Fetc%2Fkubernetes%2Fcni%2Fnet.d%2F80-openshift-network.conf%0Ar%20%2Fetc%2Fkubernetes%2Fcni%2Fnet.d%2F10-ovn-kubernetes.conf%0Ad%20%2Frun%2Fmultus%2Fcni%2Fnet.d%2F%200755%20root%20root%20-%20-%0AD%20%2Fvar%2Flib%2Fcni%2Fnetworks%2Fopenshift-sdn%2F%200755%20root%20root%20-%20-%0A
verification: {}
filesystem: root
mode: 420
path: /etc/tmpfiles.d/cleanup-cni.conf
- contents:
source: data:,
verification: {}
filesystem: root
mode: 420
path: /etc/kubernetes/static-pod-resources/configmaps/cloud-config/ca-bundle.pem
- contents:
source: data:,%23%20This%20file%20is%20generated%20by%20the%20Machine%20Config%20Operator's%20containerruntimeconfig%20controller.%0A%23%0A%23%20storage.conf%20is%20the%20configuration%20file%20for%20all%20tools%0A%23%20that%20share%20the%20containers%2Fstorage%20libraries%0A%23%20See%20man%205%20containers-storage.conf%20for%20more%20information%0A%23%20The%20%22container%20storage%22%20table%20contains%20all%20of%20the%20server%20options.%0A%5Bstorage%5D%0A%0A%23%20Default%20Storage%20Driver%0Adriver%20%3D%20%22overlay%22%0A%0A%23%20Temporary%20storage%20location%0Arunroot%20%3D%20%22%2Fvar%2Frun%2Fcontainers%2Fstorage%22%0A%0A%23%20Primary%20Read%2FWrite%20location%20of%20container%20storage%0Agraphroot%20%3D%20%22%2Fvar%2Flib%2Fcontainers%2Fstorage%22%0A%0A%5Bstorage.options%5D%0A%23%20Storage%20options%20to%20be%20passed%20to%20underlying%20storage%20drivers%0A%0A%23%20AdditionalImageStores%20is%20used%20to%20pass%20paths%20to%20additional%20Read%2FOnly%20image%20stores%0A%23%20Must%20be%20comma%20separated%20list.%0Aadditionalimagestores%20%3D%20%5B%0A%5D%0A%0A%23%20Size%20is%20used%20to%20set%20a%20maximum%20size%20of%20the%20container%20image.%20%20Only%20supported%20by%0A%23%20certain%20container%20storage%20drivers.%0Asize%20%3D%20%22%22%0A%0A%23%20OverrideKernelCheck%20tells%20the%20driver%20to%20ignore%20kernel%20checks%20based%20on%20kernel%20version%0Aoverride_kernel_check%20%3D%20%22true%22%0A%0A%23%20Remap-UIDs%2FGIDs%20is%20the%20mapping%20from%20UIDs%2FGIDs%20as%20they%20should%20appear%20inside%20of%0A%23%20a%20container%2C%20to%20UIDs%2FGIDs%20as%20they%20should%20appear%20outside%20of%20the%20container%2C%20and%0A%23%20the%20length%20of%20the%20range%20of%20UIDs%2FGIDs.%20%20Additional%20mapped%20sets%20can%20be%20listed%0A%23%20and%20will%20be%20heeded%20by%20libraries%2C%20but%20there%20are%20limits%20to%20the%20number%20of%0A%23%20mappings%20which%20the%20kernel%20will%20allow%20when%20you%20later%20attempt%20to%20run%20a%0A%23%20container.%0A%23%0A%23%20remap-uids%20%3D%200%3A1668442479%3A65536%0A%23%20remap-gids%20%3D%200%3A1668442479%3A65536%0A%0A%23%20Remap-User%2FGroup%20is%20a%20name%20which%20can%20be%20used%20to%20look%20up%20one%20or%20more%20UID%2FGID%0A%23%20ranges%20in%20the%20%2Fetc%2Fsubuid%20or%20%2Fetc%2Fsubgid%20file.%20%20Mappings%20are%20set%20up%20starting%0A%23%20with%20an%20in-container%20ID%20of%200%20and%20the%20a%20host-level%20ID%20taken%20from%20the%20lowest%0A%23%20range%20that%20matches%20the%20specified%20name%2C%20and%20using%20the%20length%20of%20that%20range.%0A%23%20Additional%20ranges%20are%20then%20assigned%2C%20using%20the%20ranges%20which%20specify%20the%0A%23%20lowest%20host-level%20IDs%20first%2C%20to%20the%20lowest%20not-yet-mapped%20container-level%20ID%2C%0A%23%20until%20all%20of%20the%20entries%20have%20been%20used%20for%20maps.%0A%23%0A%23%20remap-user%20%3D%20%22storage%22%0A%23%20remap-group%20%3D%20%22storage%22%0A%0A%5Bstorage.options.thinpool%5D%0A%23%20Storage%20Options%20for%20thinpool%0A%0A%23%20autoextend_percent%20determines%20the%20amount%20by%20which%20pool%20needs%20to%20be%0A%23%20grown.%20This%20is%20specified%20in%20terms%20of%20%25%20of%20pool%20size.%20So%20a%20value%20of%2020%20means%0A%23%20that%20when%20threshold%20is%20hit%2C%20pool%20will%20be%20grown%20by%2020%25%20of%20existing%0A%23%20pool%20size.%0A%23%20autoextend_percent%20%3D%20%2220%22%0A%0A%23%20autoextend_threshold%20determines%20the%20pool%20extension%20threshold%20in%20terms%0A%23%20of%20percentage%20of%20pool%20size.%20For%20example%2C%20if%20threshold%20is%2060%2C%20that%20means%20when%0A%23%20pool%20is%2060%25%20full%2C%20threshold%20has%20been%20hit.%0A%23%20autoextend_threshold%20%3D%20%2280%22%0A%0A%23%20basesize%20specifies%20the%20size%20to%20use%20when%20creating%20the%20base%20device%2C%20which%0A%23%20limits%20the%20size%20of%20images%20and%20containers.%0A%23%20basesize%20%3D%20%2210G%22%0A%0A%23%20blocksize%20specifies%20a%20custom%20blocksize%20to%20use%20for%20the%20thin%20pool.%0A%23%20blocksize%3D%2264k%22%0A%0A%23%20directlvm_device%20specifies%20a%20custom%20block%20storage%20device%20to%20use%20for%20the%0A%23%20thin%20pool.%20Required%20if%20you%20setup%20devicemapper%0A%23%20directlvm_device%20%3D%20%22%22%0A%0A%23%20directlvm_device_force%20wipes%20device%20even%20if%20device%20already%20has%20a%20filesystem%0A%23%20directlvm_device_force%20%3D%20%22True%22%0A%0A%23%20fs%20specifies%20the%20filesystem%20type%20to%20use%20for%20the%20base%20device.%0A%23%20fs%3D%22xfs%22%0A%0A%23%20log_level%20sets%20the%20log%20level%20of%20devicemapper.%0A%23%200%3A%20LogLevelSuppress%200%20(Default)%0A%23%202%3A%20LogLevelFatal%0A%23%203%3A%20LogLevelErr%0A%23%204%3A%20LogLevelWarn%0A%23%205%3A%20LogLevelNotice%0A%23%206%3A%20LogLevelInfo%0A%23%207%3A%20LogLevelDebug%0A%23%20log_level%20%3D%20%227%22%0A%0A%23%20min_free_space%20specifies%20the%20min%20free%20space%20percent%20in%20a%20thin%20pool%20require%20for%0A%23%20new%20device%20creation%20to%20succeed.%20Valid%20values%20are%20from%200%25%20-%2099%25.%0A%23%20Value%200%25%20disables%0A%23%20min_free_space%20%3D%20%2210%25%22%0A%0A%23%20mkfsarg%20specifies%20extra%20mkfs%20arguments%20to%20be%20used%20when%20creating%20the%20base%0A%23%20device.%0A%23%20mkfsarg%20%3D%20%22%22%0A%0A%23%20mountopt%20specifies%20extra%20mount%20options%20used%20when%20mounting%20the%20thin%20devices.%0A%23%20mountopt%20%3D%20%22%22%0A%0A%23%20use_deferred_removal%20Marking%20device%20for%20deferred%20removal%0A%23%20use_deferred_removal%20%3D%20%22True%22%0A%0A%23%20use_deferred_deletion%20Marking%20device%20for%20deferred%20deletion%0A%23%20use_deferred_deletion%20%3D%20%22True%22%0A%0A%23%20xfs_nospace_max_retries%20specifies%20the%20maximum%20number%20of%20retries%20XFS%20should%0A%23%20attempt%20to%20complete%20IO%20when%20ENOSPC%20(no%20space)%20error%20is%20returned%20by%0A%23%20underlying%20storage%20device.%0A%23%20xfs_nospace_max_retries%20%3D%20%220%22%0A
verification: {}
filesystem: root
mode: 420
path: /etc/containers/storage.conf
- contents:
source: data:,supersede%20domain-search%20%22ocp-edge-cluster-0.qe.lab.redhat.com%22%3B%0A
verification: {}
filesystem: root
mode: 420
path: /etc/dhcp/dhclient.conf
- contents:
source: data:,%5BService%5D%0AExecStart%3D%0AExecStart%3D%2Fusr%2Fbin%2Fcrio%20%5C%0A%20%20%20%20%20%20--stream-address%3D%22%24%7BCONTAINER_STREAM_ADDRESS%7D%22%20%5C%0A%20%20%20%20%20%20%24CRIO_STORAGE_OPTIONS%20%5C%0A%20%20%20%20%20%20%24CRIO_NETWORK_OPTIONS%20%5C%0A%20%20%20%20%20%20%24CRIO_METRICS_OPTIONS%0A
verification: {}
filesystem: root
mode: 420
path: /etc/systemd/system/crio.service.d/20-stream-address.conf
- contents:
source: data:,
verification: {}
filesystem: root
mode: 420
path: /etc/systemd/system/crio.service.d/10-default-env.conf
- contents:
source: data:,
verification: {}
filesystem: root
mode: 420
path: /etc/systemd/system/kubelet.service.d/10-default-env.conf
- contents:
source: data:,
verification: {}
filesystem: root
mode: 420
path: /etc/systemd/system/machine-config-daemon-host.service.d/10-default-env.conf
- contents:
source: data:,
verification: {}
filesystem: root
mode: 420
path: /etc/systemd/system/pivot.service.d/10-default-env.conf
- contents:
source: data:,-----BEGIN%20CERTIFICATE-----%0AMIIDMDCCAhigAwIBAgIIUKWJ36weFoYwDQYJKoZIhvcNAQELBQAwNjESMBAGA1UE%0ACxMJb3BlbnNoaWZ0MSAwHgYDVQQDExdhZG1pbi1rdWJlY29uZmlnLXNpZ25lcjAe%0AFw0yMDA1MTIxOTQ1MjhaFw0zMDA1MTAxOTQ1MjhaMDYxEjAQBgNVBAsTCW9wZW5z%0AaGlmdDEgMB4GA1UEAxMXYWRtaW4ta3ViZWNvbmZpZy1zaWduZXIwggEiMA0GCSqG%0ASIb3DQEBAQUAA4IBDwAwggEKAoIBAQDOTxN4RvWPyJlJGqZJi6qHsEvq63BarVZ3%0Ap%2FeUhg45o9PGwyxSaWciLkJHtcO1hGlo4KWVGkkUy1rPKkE2M2CPS4%2BT8zlNdAQH%0ALMWPF9AIo%2FwOTfVN8qJif7ooVKvMgauuLBgjIyLUNx5AdQjpmL3kGEPplDSNzqZa%0AHLbgyWeQri9a%2B7LlDTtHo2cIkGZp7JfaYRGB5jEpaIi4yLspiieVAz0wsATJ3Why%0AtojBHNldxaPSh0Y8zTZtlVtHxHFQIAjEuqzE8%2FMBAalvTxbnMpdZnpDW2fWnvBeh%0AqMLiRqa4ewaTaPJa5oEpXJTQY5diMl4%2FCJDsj%2BZKggCUkmwbgBK1AgMBAAGjQjBA%0AMA4GA1UdDwEB%2FwQEAwICpDAPBgNVHRMBAf8EBTADAQH%2FMB0GA1UdDgQWBBRjvgiu%0A6i3grFeAngL29m%2Fo9lU3UTANBgkqhkiG9w0BAQsFAAOCAQEACxKwVlyuBTDIg1HO%0ATcgtlPDYLEj1kaBO0tP8O8EZeTCFPcqTJYsl4UUKDl1ztvuWAr2vvVh4l50Crojw%0AENQTkNjCAPcNZrv%2FzhL467Iz4qiVvmqhqiob0sP95LNpcBEuPZOLf0eLu3I0h5Xt%0AM%2FbXsxpCrsjkI4j3AuB4lsbs0jZ3Jg083eGnqHxR4Lux4ku7UBJVHV2yZQ8gwdQE%0AniZPdRom2kmukc569kHJYCwfoE7dxVY%2BPHhunDWLt2fG3M5UB97ek2d3DfFg9a7j%0AF5pLKFGK5VHY5FlPzdo2eWCfWI9V%2BuLkBZhAdri%2BrtQ5yPhuCIEJTjU7g7J6H3dn%0AC2dbwA%3D%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIIDHjCCAgagAwIBAgIIIWJhYXHe%2BWUwDQYJKoZIhvcNAQELBQAwLTESMBAGA1UE%0ACxMJb3BlbnNoaWZ0MRcwFQYDVQQDEw5rdWJlbGV0LXNpZ25lcjAeFw0yMDA1MTIx%0AOTQ1MzFaFw0yMDA1MTMxOTQ1MzFaMC0xEjAQBgNVBAsTCW9wZW5zaGlmdDEXMBUG%0AA1UEAxMOa3ViZWxldC1zaWduZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK%0AAoIBAQC1GueFq03ZGz8dzCVrjKzlfqD4M6GwkFREOhfq5HntbNcx6KxaOMcXMXVU%0AjhalOphRT1dvMETHeG4ojoKVWnsfEpOYMIqyPw6fCAsgOJP%2FK7OJeGAD8Voa44Uf%0AGgpkrzqqyzXW0ET8VjdeOBsMxYHlPxX7YrF6oJVHa%2Fli2N3FnW9ExV05FycgA9sV%0A3g69dIvZbxrh0zZHrQOBBv9IHBxZhAXEaXVSmXvP%2FYXbQ%2BbDQALew2Ws4fYIXsuD%0A3JKfFKRta8QIj0r8WjfKpUwSBa8RX9551%2Fqy7BjysjJM4YsBVe8koK%2FIoK8j7jLE%0Au1834b1VVRAFevbhkZMHoFMhemflAgMBAAGjQjBAMA4GA1UdDwEB%2FwQEAwICpDAP%0ABgNVHRMBAf8EBTADAQH%2FMB0GA1UdDgQWBBSSa0xp3sRN2Ornvr6LzS5BwnMZ%2FjAN%0ABgkqhkiG9w0BAQsFAAOCAQEAaPED0OvH1FDn6%2BY%2BrgF9UyomQz3hpSAdS80nOh9D%0A3qBSlelL9u8%2F%2FUlyMyWkLsIPT4V%2F8OPKMj%2BHftj0wC63XwkN%2FO5DG8EhIH6yHSrn%0Ao6IrqgkxMycR6KLYBrsBYgvZoAfAEujDAhWMQ%2Fj2a3gjk0nzTy5aSLrlNx3LKYnF%0A8%2BP0AA9H8TGEThqCriHq9XPXvEWjn4mv0gvTje5txsUcJuKVxli8GiWbD8lhMLh0%0A94lAnCrThR1amU80cRrhQr2kSImH9bFr6BIeyGufQjtpjDFmV25v8Hl2%2FuJxwX4P%0AR0q5CDpV7zPxD87GbxPsKjx3Ui64qLULkVpjefDfvur07Q%3D%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIIDNDCCAhygAwIBAgIIJjd5cs0igsAwDQYJKoZIhvcNAQELBQAwODESMBAGA1UE%0ACxMJb3BlbnNoaWZ0MSIwIAYDVQQDExlrdWJlLWNvbnRyb2wtcGxhbmUtc2lnbmVy%0AMB4XDTIwMDUxMjE5NDUzMVoXDTIxMDUxMjE5NDUzMVowODESMBAGA1UECxMJb3Bl%0AbnNoaWZ0MSIwIAYDVQQDExlrdWJlLWNvbnRyb2wtcGxhbmUtc2lnbmVyMIIBIjAN%0ABgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAutjhZmr2f23WyLKesINXB9KHm1Y4%0A%2BJ6X9yvxMNWmt1WCkeTIQOEho%2FbyJIOAsGBUCP6K2wRJLxqeNJetjW3QvwweDSCQ%0Ar07JDEPKTj0HOf1rQQUaehoZCcIdfUl81OyJRYSko4LgDrOJNcoeFjlX4wl9bx5a%0Ajqo6OsYFtqHWdZRAlvy0w5gOMEE4Ws8DVXAB%2Fo3rOMcnmol0UNv11WrKEpVNJADa%0AmWbS0A7gZ1Gaf0IZ3AoNWPT7WsNljliijxbHgCm653B8T%2BjSgKsPQve7NLarbLx3%0ASrQq1WkAUjycI2Zpxd49DWE2b2Fdk255mBA6oRreUR%2BnLTRbdqHiiCtr9QIDAQAB%0Ao0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH%2FBAUwAwEB%2FzAdBgNVHQ4EFgQU%0A%2FND3OUbeQURpUNnNlp7xA7VIeYQwDQYJKoZIhvcNAQELBQADggEBAAmq4U6b6yhR%0AUnjX2PYpvg6E%2Bgfjy5MfJ9kHxHhTptfQv33sEJBb6WmxmAtFVEugSeLiDwMut19c%0A6Mc1rc%2FRNmyFG6S1%2B%2BUN%2BAVYHaxy66fKhkYhl5o2lW46%2FPS8i%2Bg2BlGBTKFxpB%2B3%0AGCC1%2ByuJn4r2h654tAAwnL7Dt%2BhwWIQN0aQ%2FaJfGtCMbz18cYzjpvVyOt6yosMTZ%0ASpRt0excSajHcQzKh730V8pE454Ed5IwqMROfuhK11984d4jaqizrYsiYILa5lhs%0AqAUoRHC46yJ3VCfbxuUrkHZ6BS8uyeRa4Hw22UGFC4pomifiBz457XvMREKygITs%0Al2KVa6Vo%2BLo%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIIDQjCCAiqgAwIBAgIIPTKwl6Li8ecwDQYJKoZIhvcNAQELBQAwPzESMBAGA1UE%0ACxMJb3BlbnNoaWZ0MSkwJwYDVQQDEyBrdWJlLWFwaXNlcnZlci10by1rdWJlbGV0%0ALXNpZ25lcjAeFw0yMDA1MTIxOTQ1MzFaFw0yMTA1MTIxOTQ1MzFaMD8xEjAQBgNV%0ABAsTCW9wZW5zaGlmdDEpMCcGA1UEAxMga3ViZS1hcGlzZXJ2ZXItdG8ta3ViZWxl%0AdC1zaWduZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5rIG4rw85%0A5VTtouloSovAim2G5LCC2jgxS5oRJ1rPcK%2FX33zctl2ldwld0Ja%2BRPUD5jdRIVGc%0ADQdrIdLWhQCYexhDVL9zIhoyY%2B5c33TCsD1PDQQumwuO6VsIRHfDSzMcnjTFFQR6%0A8b%2BVlLhHtvn9OJaRxzzKd9VCJTptniPb2t4UeerW3S1F0W3%2FzRRBVckbERzg8hi2%0AFtKD0th08i9eXg%2B4iO9dUqFSYyUMFE9tqh3NL1ClBhr41EjnR3jRlqR8sm3toget%0AOd3W3cIGiHa0zBMjFXPwbgzJZ4Jq6kN2%2BnyvFupn1EFdyeqsJ174L5gsjn6IclSh%0ARbtcU72h3OCzAgMBAAGjQjBAMA4GA1UdDwEB%2FwQEAwICpDAPBgNVHRMBAf8EBTAD%0AAQH%2FMB0GA1UdDgQWBBR%2BmdzC2FFQNWP9uYozONZi7MMUDjANBgkqhkiG9w0BAQsF%0AAAOCAQEAn1pBkw8cil42DqelXd%2BtzSpAvijpOaKrpy4%2BRqTvzzhCn2Tz9r7QTt8k%0AkV7fT%2FHXCTG1ECCwZawANa5T%2F9L8QjrJzEIwsAiukWngTk5LiAVXTCNDjMQrnllj%0At6Gz%2BS3Hsc9K58Id4SQ1ZpSIz8ID0uFwO3RuhWta%2BW9wdEwwEX8jrU9tNwZ5vOyk%0AU5lz3rS6cMKkN%2FWcP1LIFPaKI3DyN6SS8iFSkw%2Fz%2FiLH27hQMW%2FVRH6BOEYDvBmZ%0AJPKlLXD388DiOinWUT4SdTA4x%2Fp1aPgANKOr3xkuSOXbNmjz7ohGwdm4vi9lstSO%0ANx8skx%2FfgGJfAb0OhZW1NBwKYNa3og%3D%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIIDSDCCAjCgAwIBAgIIaYLlpB0nrhEwDQYJKoZIhvcNAQELBQAwQjESMBAGA1UE%0ACxMJb3BlbnNoaWZ0MSwwKgYDVQQDEyNrdWJlbGV0LWJvb3RzdHJhcC1rdWJlY29u%0AZmlnLXNpZ25lcjAeFw0yMDA1MTIxOTQ1MjlaFw0zMDA1MTAxOTQ1MjlaMEIxEjAQ%0ABgNVBAsTCW9wZW5zaGlmdDEsMCoGA1UEAxMja3ViZWxldC1ib290c3RyYXAta3Vi%0AZWNvbmZpZy1zaWduZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2%0AqxoVGGa60qwucL4TYxApCjpQO677SrIXysr1cYd9tdFEwuWOjhhptzYZvgQXX617%0A3hOmjM4u%2F%2BiY083xxaay6%2FS7vVtH16BHl9vguO%2FjNpc0qRFLbNEpmbrcKW7h6cHZ%0A9Ik%2FbMOXWeWrNAk6wufLQf1%2Bq0zzQDUS4GsOVvYDuSSUKgT7mgQL4xLkVHj%2BJx7I%0AzdO07kMT0ZUz6wwwJaqSKu%2F4qCr3qZ9g8DewB6KfnrMt4ag3d5FVpdE1JoN0bqE6%0ARoQLpCUcNlaUQ5h9qpXoMrLSomkNG%2F%2FXtWE4O72om%2FHXWvDhGuhGnTnnv1kF8CIN%0AptD0oqycFqylyoFqV4S%2FAgMBAAGjQjBAMA4GA1UdDwEB%2FwQEAwICpDAPBgNVHRMB%0AAf8EBTADAQH%2FMB0GA1UdDgQWBBSPKq5aY1osaBP72HWtSXj7VYzqhTANBgkqhkiG%0A9w0BAQsFAAOCAQEAYveRubEfeCmM0NMRsomZpVzsL%2B6Sgh7nkg2ftp%2BT1vFw0qh9%0AdoSxBR36YA0sYA47JfYnjwgkYbrExvI19JoC07URzar0haMG6ZUZjuNSZoMsp%2BlL%0A5CLEFHgzWWhjZHshqBVtZYhbkjt4OjmjvBs2%2Ba0GNPQjJIJRN9v%2FZjc0xKbEPXd5%0AVTcGuESGiwt%2Fb7WImfZCwYx%2BqGDNg0WBJ6W12F3BtiyqxXO9ug6DwSsm9P%2BsaDZT%0AagR78g0aULZwLxKxUgvjYLic%2BfG970LshlYNkiWXZjZb9YCiw4jeTYKcO67%2Bo2Vv%0Aqfyi6ku2s34ww1%2FSOScaUvMvnxv7DF6QvxwLZg%3D%3D%0A-----END%20CERTIFICATE-----%0A
verification: {}
filesystem: root
mode: 420
path: /etc/kubernetes/kubelet-ca.crt
- contents:
source: data:,%23%20Turning%20on%20Accounting%20helps%20track%20down%20performance%20issues.%0A%5BManager%5D%0ADefaultCPUAccounting%3Dyes%0ADefaultMemoryAccounting%3Dyes%0ADefaultBlockIOAccounting%3Dyes%0A
verification: {}
filesystem: root
mode: 420
path: /etc/systemd/system.conf.d/kubelet-cgroups.conf
- contents:
source: data:,%23%20ignore%20known%20SDN-managed%20devices%0A%5Bdevice%5D%0Amatch-device%3Dinterface-name%3Abr-int%3Binterface-name%3Abr-local%3Binterface-name%3Abr-nexthop%2Cinterface-name%3Aovn-k8s-*%2Cinterface-name%3Ak8s-*%3Binterface-name%3Atun0%3Binterface-name%3Abr0%3Bdriver%3Aveth%0Amanaged%3D0%0A
verification: {}
filesystem: root
mode: 420
path: /etc/NetworkManager/conf.d/sdn.conf
- contents:
source: data:,%23!%2Fusr%2Flibexec%2Fplatform-python%0A%23%20%2F*%20vim%3A%20set%20filetype%3Dpython%20%3A%20*%2F%0A%22%22%22Writes%20Kubelet%20and%20CRI-O%20configuration%20to%20choose%20the%20right%20IP%20address%0A%0AFor%20kubelet%2C%20a%20systemd%20environment%20file%20with%20a%20KUBELET_NODE_IP%20setting%0AFor%20CRI-O%20it%20drops%20a%20config%20file%20in%20%2Fetc%2Fcrio%2Fcrio.conf.d%22%22%22%0Aimport%20argparse%0Aimport%20ipaddress%0Afrom%20importlib%20import%20util%20as%20iutil%0Afrom%20importlib%20import%20machinery%20as%20imachinery%0Afrom%20types%20import%20ModuleType%0Aimport%20os%0Aimport%20pathlib%0Aimport%20socket%0Aimport%20sys%0Aimport%20time%0A%0Aloader%20%3D%20imachinery.SourceFileLoader(%0A%20%20%20%20'non_virtual_ip'%2C%0A%20%20%20%20os.path.join(os.path.dirname(os.path.realpath(__file__))%2C%20'non_virtual_ip'))%0Aspec%20%3D%20iutil.spec_from_loader('non_virtual_ip'%2C%20loader)%0Anon_virtual_ip%20%3D%20iutil.module_from_spec(spec)%0Aloader.exec_module(non_virtual_ip)%0A%0A%0AKUBELET_WORKAROUND_PATH%20%3D%20'%2Fetc%2Fsystemd%2Fsystem%2Fkubelet.service.d%2F20-nodenet.conf'%0ACRIO_WORKAROUND_PATH%20%3D%20'%2Fetc%2Fsystemd%2Fsystem%2Fcrio.service.d%2F20-nodenet.conf'%0A%0A%0Adef%20first_candidate_addr(api_vip%3A%20str)%20-%3E%20non_virtual_ip.Address%3A%0A%20%20%20%20filters%20%3D%20(non_virtual_ip.non_host_scope%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20non_virtual_ip.non_deprecated%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20non_virtual_ip.non_secondary)%0A%20%20%20%20iface_addrs%20%3D%20list(non_virtual_ip.interface_addrs(filters))%0A%20%20%20%20subnet%2C%20candidates%20%3D%20non_virtual_ip.vip_subnet_and_addrs_in_it(api_vip%2C%20iface_addrs)%0A%20%20%20%20sys.stderr.write('VIP%20Subnet%20%25s%5Cn'%20%25%20subnet.cidr)%0A%0A%20%20%20%20for%20addr%20in%20candidates%3A%0A%20%20%20%20%20%20%20%20return%20addr%0A%20%20%20%20raise%20non_virtual_ip.AddressNotFoundException()%0A%0A%0Aclass%20IPAction(argparse.Action)%3A%0A%20%20%20%20def%20__call__(self%2C%20parser%3A%20argparse.ArgumentParser%2C%20namespace%3A%20argparse.Namespace%2C%20values%2C%20option_string%3A%20str%3DNone)%3A%0A%20%20%20%20%20%20%20%20print('Processing%20CustomAction%20for%20%7B%7D'.format(self.dest))%0A%20%20%20%20%20%20%20%20print('%20%20parser%20%3D%20%7B%7D'.format(id(parser)))%0A%20%20%20%20%20%20%20%20print('%20%20values%20%3D%20%7B!r%7D'.format(values))%0A%20%20%20%20%20%20%20%20print('%20%20option_string%20%3D%20%7B!r%7D'.format(option_string))%0A%0A%20%20%20%20%20%20%20%20%23%20Do%20some%20arbitrary%20processing%20of%20the%20input%20values%0A%20%20%20%20%20%20%20%20if%20values%20is%20None%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20raise%20argparse.ArgumentError(self%2C%20'Not%20provided%20nor%20found%20from%20Environment')%0A%20%20%20%20%20%20%20%20if%20isinstance(values%2C%20list)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20target%20%3D%20values%5B0%5D%0A%20%20%20%20%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20target%20%3D%20values%0A%0A%20%20%20%20%20%20%20%20try%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20ipaddress.ip_address(target)%0A%20%20%20%20%20%20%20%20%20%20%20%20setattr(namespace%2C%20self.dest%2C%20values)%0A%20%20%20%20%20%20%20%20except%20ValueError%3A%20%20%23%20Possibly%20got%20the%20name%2C%20try%20to%20resolve%0A%20%20%20%20%20%20%20%20%20%20%20%20try%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20sstream_tuple%20%3D%20socket.getaddrinfo(target%2C%20None)%5B0%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20_%2C%20_%2C%20_%2C%20_%2C%20sockaddr%20%3D%20sstream_tuple%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20resolved%20%3D%20sockaddr%5B0%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setattr(namespace%2C%20self.dest%2C%20resolved)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20sys.stderr.write(f'Found%20%7Btarget%7D%20resolves%20to%20%7Bresolved%7D%5Cn')%0A%20%20%20%20%20%20%20%20%20%20%20%20except%20socket.gaierror%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20raise%20argparse.ArgumentError(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20self%2C%20f'IP%20not%20provided%20and%20failed%20to%20resolve%20%7Btarget%7D')%0A%0Adef%20main()%20-%3E%20None%3A%0A%20%20%20%20parser%20%3D%20argparse.ArgumentParser()%0A%20%20%20%20parser.add_argument('target'%2C%20nargs%3D'%3F'%2C%20action%3DIPAction%2C%20default%3Dos.getenv('API_INT')%2C%20help%3D'Target%20IP%20address%20to%20find%20a%20local%20address%20that%20directly%20routes%20to%20it.%20If%20not%20provided%20checks%20API_INT%20Environment%20variable')%0A%20%20%20%20parser.add_argument('-r'%2C%20'--retry-on-failure'%2C%20action%3D'store_true'%2C%20dest%3D'retry')%0A%20%20%20%20args%20%3D%20parser.parse_args()%0A%20%20%20%20while%20True%3A%0A%20%20%20%20%20%20%20%20try%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20first%3A%20non_virtual_ip.Address%20%3D%20first_candidate_addr(args.target)%0A%20%20%20%20%20%20%20%20%20%20%20%20prefixless%20%3D%20first.cidr.split('%2F')%5B0%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20break%0A%20%20%20%20%20%20%20%20except%20(non_virtual_ip.AddressNotFoundException%2C%20non_virtual_ip.SubnetNotFoundException)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20sys.stderr.write('Failed%20to%20find%20suitable%20node%20ip.%20')%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20args.retry%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20sys.stderr.write('Retrying...%5Cn')%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20time.sleep(1)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20continue%0A%20%20%20%20%20%20%20%20%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20sys.stderr.write('Exiting%5Cn')%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20sys.exit(1)%0A%0A%20%20%20%20%23%20Kubelet%0A%20%20%20%20with%20open(KUBELET_WORKAROUND_PATH%2C%20'w')%20as%20kwf%3A%0A%20%20%20%20%20%20%20%20print(f'%5BService%5D%5CnEnvironment%3D%22KUBELET_NODE_IP%3D%7Bprefixless%7D%22'%2C%20file%3Dkwf)%0A%0A%20%20%20%20%23%20CRI-O%0A%20%20%20%20crio_confd%20%3D%20pathlib.Path(CRIO_WORKAROUND_PATH).parent%0A%20%20%20%20crio_confd.mkdir(parents%3DTrue%2C%20exist_ok%3DTrue)%0A%20%20%20%20with%20open(CRIO_WORKAROUND_PATH%2C%20'w')%20as%20cwf%3A%0A%20%20%20%20%20%20%20%20print(f'%5BService%5D%5CnEnvironment%3D%22CONTAINER_STREAM_ADDRESS%3D%7Bprefixless%7D%22'%2C%20file%3Dcwf)%0A%0A%0A%0Aif%20__name__%20%3D%3D%20'__main__'%3A%0A%20%20%20%20main()%0A
verification: {}
filesystem: root
mode: 493
path: /usr/local/bin/nodeip-finder
- contents:
source: data:,%7B%22auths%22%3A%7B%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%22%3A%7B%22auth%22%3A%22b2NwLWVkZ2U6b2NwLWVkZ2UtcGFzcw%3D%3D%22%7D%7D%7D%0A
verification: {}
filesystem: root
mode: 384
path: /var/lib/kubelet/config.json
- contents:
source: data:,-----BEGIN%20CERTIFICATE-----%0AMIIDEDCCAfigAwIBAgIIMkfm1b%2BiyOIwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE%0ACxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTIwMDUxMjE5NDUyMloX%0ADTMwMDUxMDE5NDUyMlowJjESMBAGA1UECxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdy%0Ab290LWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0N7G4wC6SzM%2F%0AjUXfDBHdD%2BbjnEtU4yL4IM%2BmYdYxxcp30%2B2N9IjVw%2F5SxRba4Ga4BmJrG2Z7TKpn%0AOA9KLLQv5M63zL6vsCWKWt50DijEAqwPC8KkRePqL0j3%2BKnRg6e9AAMUhRf%2Bg1BU%0AHwykdiJJKI0yUICWbT28K2q26cVGZJ%2Bum053LdO8cLTMqddleT%2FwZWYK1v00KGwg%0AktLYcRrKwj5fyM4Yedw%2FPrQtlgwLwBfMqaEBTocFDsJQLRGBH8oXAnlgh6PyrD4o%0A2FqNQUXQCd%2FQ5jf2oHfgj%2F4u2s24djDZR8bL%2B8a2fWbh0%2FY68BDghDMJQlvDXo%2Bb%0Akjdr0xOU6wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH%2FBAUwAwEB%0A%2FzAdBgNVHQ4EFgQUPqvPX5Aj%2F%2FkyvfjsNv1WTzF0eOUwDQYJKoZIhvcNAQELBQAD%0AggEBAD2N%2BhJAYVla283sd2KnbrZp3Ou%2FooKtFwDoF0ODkAPyZEwdefh0Nii1DQX5%0AAKvGgY0XDO6aF9gepF4AisEVRtQUZ9lKjpbYBPhI%2FPq6qRqDNE8I4NimfDyTOHHM%0A1UHB4V9POYaqGLstey8VQ3zb8LqsyBrLc4aWPA1Yo8Z4zTFJ%2BZxaEY%2BEKBbtI6uN%0An%2Fk3ATEf4bSfjUbwpN3acMdMvl3LjdRvHgWB6XdfqUk%2FeSE38TptF7twQm%2B4F7AB%0AnCJKRPr98%2FYxDM7Y7yG9jFuq0rJWe5FYlB1F6I20UqKOlB9ITAUTx6Qa0OR0EwCQ%0AGVNa8CGTDD8HJCpb2qOHW1alYMM%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIIDMDCCAhigAwIBAgIIUKWJ36weFoYwDQYJKoZIhvcNAQELBQAwNjESMBAGA1UE%0ACxMJb3BlbnNoaWZ0MSAwHgYDVQQDExdhZG1pbi1rdWJlY29uZmlnLXNpZ25lcjAe%0AFw0yMDA1MTIxOTQ1MjhaFw0zMDA1MTAxOTQ1MjhaMDYxEjAQBgNVBAsTCW9wZW5z%0AaGlmdDEgMB4GA1UEAxMXYWRtaW4ta3ViZWNvbmZpZy1zaWduZXIwggEiMA0GCSqG%0ASIb3DQEBAQUAA4IBDwAwggEKAoIBAQDOTxN4RvWPyJlJGqZJi6qHsEvq63BarVZ3%0Ap%2FeUhg45o9PGwyxSaWciLkJHtcO1hGlo4KWVGkkUy1rPKkE2M2CPS4%2BT8zlNdAQH%0ALMWPF9AIo%2FwOTfVN8qJif7ooVKvMgauuLBgjIyLUNx5AdQjpmL3kGEPplDSNzqZa%0AHLbgyWeQri9a%2B7LlDTtHo2cIkGZp7JfaYRGB5jEpaIi4yLspiieVAz0wsATJ3Why%0AtojBHNldxaPSh0Y8zTZtlVtHxHFQIAjEuqzE8%2FMBAalvTxbnMpdZnpDW2fWnvBeh%0AqMLiRqa4ewaTaPJa5oEpXJTQY5diMl4%2FCJDsj%2BZKggCUkmwbgBK1AgMBAAGjQjBA%0AMA4GA1UdDwEB%2FwQEAwICpDAPBgNVHRMBAf8EBTADAQH%2FMB0GA1UdDgQWBBRjvgiu%0A6i3grFeAngL29m%2Fo9lU3UTANBgkqhkiG9w0BAQsFAAOCAQEACxKwVlyuBTDIg1HO%0ATcgtlPDYLEj1kaBO0tP8O8EZeTCFPcqTJYsl4UUKDl1ztvuWAr2vvVh4l50Crojw%0AENQTkNjCAPcNZrv%2FzhL467Iz4qiVvmqhqiob0sP95LNpcBEuPZOLf0eLu3I0h5Xt%0AM%2FbXsxpCrsjkI4j3AuB4lsbs0jZ3Jg083eGnqHxR4Lux4ku7UBJVHV2yZQ8gwdQE%0AniZPdRom2kmukc569kHJYCwfoE7dxVY%2BPHhunDWLt2fG3M5UB97ek2d3DfFg9a7j%0AF5pLKFGK5VHY5FlPzdo2eWCfWI9V%2BuLkBZhAdri%2BrtQ5yPhuCIEJTjU7g7J6H3dn%0AC2dbwA%3D%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIIDHjCCAgagAwIBAgIIIWJhYXHe%2BWUwDQYJKoZIhvcNAQELBQAwLTESMBAGA1UE%0ACxMJb3BlbnNoaWZ0MRcwFQYDVQQDEw5rdWJlbGV0LXNpZ25lcjAeFw0yMDA1MTIx%0AOTQ1MzFaFw0yMDA1MTMxOTQ1MzFaMC0xEjAQBgNVBAsTCW9wZW5zaGlmdDEXMBUG%0AA1UEAxMOa3ViZWxldC1zaWduZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK%0AAoIBAQC1GueFq03ZGz8dzCVrjKzlfqD4M6GwkFREOhfq5HntbNcx6KxaOMcXMXVU%0AjhalOphRT1dvMETHeG4ojoKVWnsfEpOYMIqyPw6fCAsgOJP%2FK7OJeGAD8Voa44Uf%0AGgpkrzqqyzXW0ET8VjdeOBsMxYHlPxX7YrF6oJVHa%2Fli2N3FnW9ExV05FycgA9sV%0A3g69dIvZbxrh0zZHrQOBBv9IHBxZhAXEaXVSmXvP%2FYXbQ%2BbDQALew2Ws4fYIXsuD%0A3JKfFKRta8QIj0r8WjfKpUwSBa8RX9551%2Fqy7BjysjJM4YsBVe8koK%2FIoK8j7jLE%0Au1834b1VVRAFevbhkZMHoFMhemflAgMBAAGjQjBAMA4GA1UdDwEB%2FwQEAwICpDAP%0ABgNVHRMBAf8EBTADAQH%2FMB0GA1UdDgQWBBSSa0xp3sRN2Ornvr6LzS5BwnMZ%2FjAN%0ABgkqhkiG9w0BAQsFAAOCAQEAaPED0OvH1FDn6%2BY%2BrgF9UyomQz3hpSAdS80nOh9D%0A3qBSlelL9u8%2F%2FUlyMyWkLsIPT4V%2F8OPKMj%2BHftj0wC63XwkN%2FO5DG8EhIH6yHSrn%0Ao6IrqgkxMycR6KLYBrsBYgvZoAfAEujDAhWMQ%2Fj2a3gjk0nzTy5aSLrlNx3LKYnF%0A8%2BP0AA9H8TGEThqCriHq9XPXvEWjn4mv0gvTje5txsUcJuKVxli8GiWbD8lhMLh0%0A94lAnCrThR1amU80cRrhQr2kSImH9bFr6BIeyGufQjtpjDFmV25v8Hl2%2FuJxwX4P%0AR0q5CDpV7zPxD87GbxPsKjx3Ui64qLULkVpjefDfvur07Q%3D%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIIDNDCCAhygAwIBAgIIJjd5cs0igsAwDQYJKoZIhvcNAQELBQAwODESMBAGA1UE%0ACxMJb3BlbnNoaWZ0MSIwIAYDVQQDExlrdWJlLWNvbnRyb2wtcGxhbmUtc2lnbmVy%0AMB4XDTIwMDUxMjE5NDUzMVoXDTIxMDUxMjE5NDUzMVowODESMBAGA1UECxMJb3Bl%0AbnNoaWZ0MSIwIAYDVQQDExlrdWJlLWNvbnRyb2wtcGxhbmUtc2lnbmVyMIIBIjAN%0ABgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAutjhZmr2f23WyLKesINXB9KHm1Y4%0A%2BJ6X9yvxMNWmt1WCkeTIQOEho%2FbyJIOAsGBUCP6K2wRJLxqeNJetjW3QvwweDSCQ%0Ar07JDEPKTj0HOf1rQQUaehoZCcIdfUl81OyJRYSko4LgDrOJNcoeFjlX4wl9bx5a%0Ajqo6OsYFtqHWdZRAlvy0w5gOMEE4Ws8DVXAB%2Fo3rOMcnmol0UNv11WrKEpVNJADa%0AmWbS0A7gZ1Gaf0IZ3AoNWPT7WsNljliijxbHgCm653B8T%2BjSgKsPQve7NLarbLx3%0ASrQq1WkAUjycI2Zpxd49DWE2b2Fdk255mBA6oRreUR%2BnLTRbdqHiiCtr9QIDAQAB%0Ao0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH%2FBAUwAwEB%2FzAdBgNVHQ4EFgQU%0A%2FND3OUbeQURpUNnNlp7xA7VIeYQwDQYJKoZIhvcNAQELBQADggEBAAmq4U6b6yhR%0AUnjX2PYpvg6E%2Bgfjy5MfJ9kHxHhTptfQv33sEJBb6WmxmAtFVEugSeLiDwMut19c%0A6Mc1rc%2FRNmyFG6S1%2B%2BUN%2BAVYHaxy66fKhkYhl5o2lW46%2FPS8i%2Bg2BlGBTKFxpB%2B3%0AGCC1%2ByuJn4r2h654tAAwnL7Dt%2BhwWIQN0aQ%2FaJfGtCMbz18cYzjpvVyOt6yosMTZ%0ASpRt0excSajHcQzKh730V8pE454Ed5IwqMROfuhK11984d4jaqizrYsiYILa5lhs%0AqAUoRHC46yJ3VCfbxuUrkHZ6BS8uyeRa4Hw22UGFC4pomifiBz457XvMREKygITs%0Al2KVa6Vo%2BLo%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIIDQjCCAiqgAwIBAgIIPTKwl6Li8ecwDQYJKoZIhvcNAQELBQAwPzESMBAGA1UE%0ACxMJb3BlbnNoaWZ0MSkwJwYDVQQDEyBrdWJlLWFwaXNlcnZlci10by1rdWJlbGV0%0ALXNpZ25lcjAeFw0yMDA1MTIxOTQ1MzFaFw0yMTA1MTIxOTQ1MzFaMD8xEjAQBgNV%0ABAsTCW9wZW5zaGlmdDEpMCcGA1UEAxMga3ViZS1hcGlzZXJ2ZXItdG8ta3ViZWxl%0AdC1zaWduZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5rIG4rw85%0A5VTtouloSovAim2G5LCC2jgxS5oRJ1rPcK%2FX33zctl2ldwld0Ja%2BRPUD5jdRIVGc%0ADQdrIdLWhQCYexhDVL9zIhoyY%2B5c33TCsD1PDQQumwuO6VsIRHfDSzMcnjTFFQR6%0A8b%2BVlLhHtvn9OJaRxzzKd9VCJTptniPb2t4UeerW3S1F0W3%2FzRRBVckbERzg8hi2%0AFtKD0th08i9eXg%2B4iO9dUqFSYyUMFE9tqh3NL1ClBhr41EjnR3jRlqR8sm3toget%0AOd3W3cIGiHa0zBMjFXPwbgzJZ4Jq6kN2%2BnyvFupn1EFdyeqsJ174L5gsjn6IclSh%0ARbtcU72h3OCzAgMBAAGjQjBAMA4GA1UdDwEB%2FwQEAwICpDAPBgNVHRMBAf8EBTAD%0AAQH%2FMB0GA1UdDgQWBBR%2BmdzC2FFQNWP9uYozONZi7MMUDjANBgkqhkiG9w0BAQsF%0AAAOCAQEAn1pBkw8cil42DqelXd%2BtzSpAvijpOaKrpy4%2BRqTvzzhCn2Tz9r7QTt8k%0AkV7fT%2FHXCTG1ECCwZawANa5T%2F9L8QjrJzEIwsAiukWngTk5LiAVXTCNDjMQrnllj%0At6Gz%2BS3Hsc9K58Id4SQ1ZpSIz8ID0uFwO3RuhWta%2BW9wdEwwEX8jrU9tNwZ5vOyk%0AU5lz3rS6cMKkN%2FWcP1LIFPaKI3DyN6SS8iFSkw%2Fz%2FiLH27hQMW%2FVRH6BOEYDvBmZ%0AJPKlLXD388DiOinWUT4SdTA4x%2Fp1aPgANKOr3xkuSOXbNmjz7ohGwdm4vi9lstSO%0ANx8skx%2FfgGJfAb0OhZW1NBwKYNa3og%3D%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIIDSDCCAjCgAwIBAgIIaYLlpB0nrhEwDQYJKoZIhvcNAQELBQAwQjESMBAGA1UE%0ACxMJb3BlbnNoaWZ0MSwwKgYDVQQDEyNrdWJlbGV0LWJvb3RzdHJhcC1rdWJlY29u%0AZmlnLXNpZ25lcjAeFw0yMDA1MTIxOTQ1MjlaFw0zMDA1MTAxOTQ1MjlaMEIxEjAQ%0ABgNVBAsTCW9wZW5zaGlmdDEsMCoGA1UEAxMja3ViZWxldC1ib290c3RyYXAta3Vi%0AZWNvbmZpZy1zaWduZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2%0AqxoVGGa60qwucL4TYxApCjpQO677SrIXysr1cYd9tdFEwuWOjhhptzYZvgQXX617%0A3hOmjM4u%2F%2BiY083xxaay6%2FS7vVtH16BHl9vguO%2FjNpc0qRFLbNEpmbrcKW7h6cHZ%0A9Ik%2FbMOXWeWrNAk6wufLQf1%2Bq0zzQDUS4GsOVvYDuSSUKgT7mgQL4xLkVHj%2BJx7I%0AzdO07kMT0ZUz6wwwJaqSKu%2F4qCr3qZ9g8DewB6KfnrMt4ag3d5FVpdE1JoN0bqE6%0ARoQLpCUcNlaUQ5h9qpXoMrLSomkNG%2F%2FXtWE4O72om%2FHXWvDhGuhGnTnnv1kF8CIN%0AptD0oqycFqylyoFqV4S%2FAgMBAAGjQjBAMA4GA1UdDwEB%2FwQEAwICpDAPBgNVHRMB%0AAf8EBTADAQH%2FMB0GA1UdDgQWBBSPKq5aY1osaBP72HWtSXj7VYzqhTANBgkqhkiG%0A9w0BAQsFAAOCAQEAYveRubEfeCmM0NMRsomZpVzsL%2B6Sgh7nkg2ftp%2BT1vFw0qh9%0AdoSxBR36YA0sYA47JfYnjwgkYbrExvI19JoC07URzar0haMG6ZUZjuNSZoMsp%2BlL%0A5CLEFHgzWWhjZHshqBVtZYhbkjt4OjmjvBs2%2Ba0GNPQjJIJRN9v%2FZjc0xKbEPXd5%0AVTcGuESGiwt%2Fb7WImfZCwYx%2BqGDNg0WBJ6W12F3BtiyqxXO9ug6DwSsm9P%2BsaDZT%0AagR78g0aULZwLxKxUgvjYLic%2BfG970LshlYNkiWXZjZb9YCiw4jeTYKcO67%2Bo2Vv%0Aqfyi6ku2s34ww1%2FSOScaUvMvnxv7DF6QvxwLZg%3D%3D%0A-----END%20CERTIFICATE-----%0A
verification: {}
filesystem: root
mode: 420
path: /etc/kubernetes/ca.crt
- contents:
source: data:,net.ipv4.ip_forward%20%3D%201%0Anet.ipv6.conf.all.forwarding%20%3D%201%0A
verification: {}
filesystem: root
mode: 420
path: /etc/sysctl.d/forward.conf
- contents:
source: data:,%0Afs.inotify.max_user_watches%20%3D%2065536%0Afs.inotify.max_user_instances%20%3D%208192%0A
verification: {}
filesystem: root
mode: 420
path: /etc/sysctl.d/inotify.conf
- contents:
source: data:,
verification: {}
filesystem: root
mode: 493
path: /etc/kubernetes/kubelet-plugins/volume/exec/.dummy
systemd:
units:
- contents: |
[Unit]
Description=Machine Config Daemon Firstboot (4.2 bootimage)
# Make sure it runs only on OSTree booted system
ConditionPathExists=/run/ostree-booted
BindsTo=ignition-firstboot-complete.service
ConditionPathExists=/etc/ignition-machine-config-encapsulated.json
# Note the opposite of this in machine-config-daemon-firstboot
ConditionPathExists=!/sysroot/.coreos-aleph-version.json
After=ignition-firstboot-complete.service
Before=kubelet.service
[Service]
# Need oneshot to delay kubelet
Type=oneshot
ExecStart=/usr/libexec/machine-config-daemon pivot
[Install]
WantedBy=multi-user.target
enabled: true
name: machine-config-daemon-firstboot-v42.service
- contents: |
[Unit]
Description=Machine Config Daemon Firstboot
# Make sure it runs only on OSTree booted system
ConditionPathExists=/run/ostree-booted
BindsTo=ignition-firstboot-complete.service
ConditionPathExists=/etc/ignition-machine-config-encapsulated.json
# We only want to run on 4.3 clusters and above; this came from
# https://github.com/coreos/coreos-assembler/pull/768
ConditionPathExists=/sysroot/.coreos-aleph-version.json
After=ignition-firstboot-complete.service
Before=kubelet.service
[Service]
# Need oneshot to delay kubelet
Type=oneshot
ExecStart=/usr/libexec/machine-config-daemon firstboot-complete-machineconfig
[Install]
WantedBy=multi-user.target
enabled: true
name: machine-config-daemon-firstboot.service
- contents: |
[Unit]
Description=Machine Config Daemon Initial
# This only applies to ostree (MCD) systems;
# see also https://github.com/openshift/machine-config-operator/issues/1046
ConditionPathExists=/run/ostree-booted
ConditionPathExists=/etc/pivot/image-pullspec
# If pivot exists, defer to it. Note similar code in update.go
ConditionPathExists=!/usr/lib/systemd/system/pivot.service
After=ignition-firstboot-complete.service
Before=kubelet.service
[Service]
# Need oneshot to delay kubelet
Type=oneshot
# TODO add --from-etc-pullspec after ratcheting
ExecStart=/usr/libexec/machine-config-daemon pivot
[Install]
WantedBy=multi-user.target
enabled: false
name: machine-config-daemon-host.service
- contents: |
[Unit]
Description=Writes IP address configuration so that kubelet and crio services select a valid node IP
# This only applies to VIP managing environments where the kubelet and crio IP
# address picking logic is flawed and may end up selecting an address from a
# different subnet or a deprecated address
Wants=network-online.target
After=network-online.target ignition-firstboot-complete.service
Before=kubelet.service crio.service
[Service]
# Need oneshot to delay kubelet
Type=oneshot
ExecStart=/usr/local/bin/nodeip-finder --retry-on-failure 192.168.123.5
[Install]
WantedBy=multi-user.target
enabled: true
name: nodeip-configuration.service
fips: false
kernelArguments: null
kernelType: ""
osImageURL: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:8cea2679f40cd5e5bb95b7f511d444ea7ad74800bcc366d0129eb682459cdffd
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
annotations:
machineconfiguration.openshift.io/generated-by-controller-version: 910f22cb1550ad7bb02b82c5dc05062b1566ce5f
creationTimestamp: "2020-05-13T18:39:59Z"
generation: 1
labels:
machineconfiguration.openshift.io/role: worker-lb
name: 01-worker-lb-container-runtime
ownerReferences:
- apiVersion: machineconfiguration.openshift.io/v1
blockOwnerDeletion: true
controller: true
kind: ControllerConfig
name: machine-config-controller
uid: a1f72006-0d0c-40f9-bb4c-4e47da17a179
resourceVersion: "574763"
selfLink: /apis/machineconfiguration.openshift.io/v1/machineconfigs/01-worker-lb-container-runtime
uid: 0a045945-2f56-4b1b-b03d-f8a2e78a2f5d
spec:
config:
ignition:
config: {}
security:
tls: {}
timeouts: {}
version: 2.2.0
networkd: {}
passwd: {}
storage:
files:
- contents:
source: data:,unqualified-search-registries%20%3D%20%5B'registry.access.redhat.com'%2C%20'docker.io'%5D%0A
verification: {}
filesystem: root
mode: 420
path: /etc/containers/registries.conf
- contents:
source: data:,%5Bcrio%5D%0A%0A%23%20The%20default%20log%20directory%20where%20all%20logs%20will%20go%20unless%20directly%20specified%20by%0A%23%20the%20kubelet.%20The%20log%20directory%20specified%20must%20be%20an%20absolute%20directory.%0Alog_dir%20%3D%20%22%2Fvar%2Flog%2Fcrio%2Fpods%22%0A%0A%23%20Location%20for%20CRI-O%20to%20lay%20down%20the%20temporary%20version%20file%0Aversion_file%20%3D%20%22%2Fvar%2Frun%2Fcrio%2Fversion%22%0A%0A%23%20Location%20for%20CRI-O%20to%20lay%20down%20the%20persistent%20version%20file%0Aversion_file_persist%20%3D%20%22%2Fvar%2Flib%2Fcrio%2Fversion%22%0A%0A%23%20The%20crio.api%20table%20contains%20settings%20for%20the%20kubelet%2FgRPC%20interface.%0A%5Bcrio.api%5D%0A%0A%23%20Path%20to%20AF_LOCAL%20socket%20on%20which%20CRI-O%20will%20listen.%0Alisten%20%3D%20%22%2Fvar%2Frun%2Fcrio%2Fcrio.sock%22%0A%0A%23%20Host%20IP%20considered%20as%20the%20primary%20IP%20to%20use%20by%20CRI-O%20for%20things%20such%20as%20host%20network%20IP.%0Ahost_ip%20%3D%20%22%22%0A%0A%23%20IP%20address%20on%20which%20the%20stream%20server%20will%20listen.%0Astream_address%20%3D%20%22%22%0A%0A%23%20The%20port%20on%20which%20the%20stream%20server%20will%20listen.%0Astream_port%20%3D%20%2210010%22%0A%0A%23%20Enable%20encrypted%20TLS%20transport%20of%20the%20stream%20server.%0Astream_enable_tls%20%3D%20false%0A%0A%23%20Path%20to%20the%20x509%20certificate%20file%20used%20to%20serve%20the%20encrypted%20stream.%20This%0A%23%20file%20can%20change%2C%20and%20CRI-O%20will%20automatically%20pick%20up%20the%20changes%20within%205%0A%23%20minutes.%0Astream_tls_cert%20%3D%20%22%22%0A%0A%23%20Path%20to%20the%20key%20file%20used%20to%20serve%20the%20encrypted%20stream.%20This%20file%20can%0A%23%20change%20and%20CRI-O%20will%20automatically%20pick%20up%20the%20changes%20within%205%20minutes.%0Astream_tls_key%20%3D%20%22%22%0A%0A%23%20Path%20to%20the%20x509%20CA(s)%20file%20used%20to%20verify%20and%20authenticate%20client%0A%23%20communication%20with%20the%20encrypted%20stream.%20This%20file%20can%20change%20and%20CRI-O%20will%0A%23%20automatically%20pick%20up%20the%20changes%20within%205%20minutes.%0Astream_tls_ca%20%3D%20%22%22%0A%0A%23%20Maximum%20grpc%20send%20message%20size%20in%20bytes.%20If%20not%20set%20or%20%3C%3D0%2C%20then%20CRI-O%20will%20default%20to%2016%20*%201024%20*%201024.%0Agrpc_max_send_msg_size%20%3D%2016777216%0A%0A%23%20Maximum%20grpc%20receive%20message%20size.%20If%20not%20set%20or%20%3C%3D%200%2C%20then%20CRI-O%20will%20default%20to%2016%20*%201024%20*%201024.%0Agrpc_max_recv_msg_size%20%3D%2016777216%0A%0A%23%20The%20crio.runtime%20table%20contains%20settings%20pertaining%20to%20the%20OCI%20runtime%20used%0A%23%20and%20options%20for%20how%20to%20set%20up%20and%20manage%20the%20OCI%20runtime.%0A%5Bcrio.runtime%5D%0A%0A%23%20default_runtime%20is%20the%20_name_%20of%20the%20OCI%20runtime%20to%20be%20used%20as%20the%20default.%0A%23%20The%20name%20is%20matched%20against%20the%20runtimes%20map%20below.%0Adefault_runtime%20%3D%20%22runc%22%0A%0A%23%20If%20true%2C%20the%20runtime%20will%20not%20use%20pivot_root%2C%20but%20instead%20use%20MS_MOVE.%0Ano_pivot%20%3D%20false%0A%0A%23%20Path%20to%20the%20conmon%20binary%2C%20used%20for%20monitoring%20the%20OCI%20runtime.%0A%23%20Will%20be%20searched%20for%20using%20%24PATH%20if%20empty.%0Aconmon%20%3D%20%22%2Fusr%2Flibexec%2Fcrio%2Fconmon%22%0A%0A%23%20Cgroup%20setting%20for%20conmon%0Aconmon_cgroup%20%3D%20%22pod%22%0A%0A%23%20Environment%20variable%20list%20for%20the%20conmon%20process%2C%20used%20for%20passing%20necessary%0A%23%20environment%20variables%20to%20conmon%20or%20the%20runtime.%0Aconmon_env%20%3D%20%5B%0A%20%20%20%20%22PATH%3D%2Fusr%2Flocal%2Fsbin%3A%2Fusr%2Flocal%2Fbin%3A%2Fusr%2Fsbin%3A%2Fusr%2Fbin%3A%2Fsbin%3A%2Fbin%22%2C%0A%5D%0A%0Adefault_env%20%3D%20%5B%0A%20%20%20%20%22NSS_SDB_USE_CACHE%3Dno%22%2C%0A%5D%0A%0A%23%20If%20true%2C%20SELinux%20will%20be%20used%20for%20pod%20separation%20on%20the%20host.%0Aselinux%20%3D%20true%0A%0A%23%20Path%20to%20the%20seccomp.json%20profile%20which%20is%20used%20as%20the%20default%20seccomp%20profile%0A%23%20for%20the%20runtime.%20If%20not%20specified%2C%20then%20the%20internal%20default%20seccomp%20profile%0A%23%20will%20be%20used.%0Aseccomp_profile%20%3D%20%22%22%0A%0A%23%20Used%20to%20change%20the%20name%20of%20the%20default%20AppArmor%20profile%20of%20CRI-O.%20The%20default%0A%23%20profile%20name%20is%20%22crio-default-%22%20followed%20by%20the%20version%20string%20of%20CRI-O.%0Aapparmor_profile%20%3D%20%22crio-default%22%0A%0A%23%20Cgroup%20management%20implementation%20used%20for%20the%20runtime.%0Acgroup_manager%20%3D%20%22systemd%22%0A%0A%23%20List%20of%20default%20capabilities%20for%20containers.%20If%20it%20is%20empty%20or%20commented%20out%2C%0A%23%20only%20the%20capabilities%20defined%20in%20the%20containers%20json%20file%20by%20the%20user%2Fkube%0A%23%20will%20be%20added.%0Adefault_capabilities%20%3D%20%5B%0A%20%20%20%20%22CHOWN%22%2C%0A%20%20%20%20%22DAC_OVERRIDE%22%2C%0A%20%20%20%20%22FSETID%22%2C%0A%20%20%20%20%22FOWNER%22%2C%0A%20%20%20%20%22NET_RAW%22%2C%0A%20%20%20%20%22SETGID%22%2C%0A%20%20%20%20%22SETUID%22%2C%0A%20%20%20%20%22SETPCAP%22%2C%0A%20%20%20%20%22NET_BIND_SERVICE%22%2C%0A%20%20%20%20%22SYS_CHROOT%22%2C%0A%20%20%20%20%22KILL%22%2C%0A%5D%0A%0A%23%20List%20of%20default%20sysctls.%20If%20it%20is%20empty%20or%20commented%20out%2C%20only%20the%20sysctls%0A%23%20defined%20in%20the%20container%20json%20file%20by%20the%20user%2Fkube%20will%20be%20added.%0Adefault_sysctls%20%3D%20%5B%0A%5D%0A%0A%23%20List%20of%20additional%20devices.%20specified%20as%0A%23%20%22%3Cdevice-on-host%3E%3A%3Cdevice-on-container%3E%3A%3Cpermissions%3E%22%2C%20for%20example%3A%20%22--device%3D%2Fdev%2Fsdc%3A%2Fdev%2Fxvdc%3Arwm%22.%0A%23If%20it%20is%20empty%20or%20commented%20out%2C%20only%20the%20devices%0A%23%20defined%20in%20the%20container%20json%20file%20by%20the%20user%2Fkube%20will%20be%20added.%0Aadditional_devices%20%3D%20%5B%0A%5D%0A%0A%23%20Path%20to%20OCI%20hooks%20directories%20for%20automatically%20executed%20hooks.%0Ahooks_dir%20%3D%20%5B%0A%20%20%20%20%22%2Fetc%2Fcontainers%2Foci%2Fhooks.d%22%2C%0A%5D%0A%0A%23%20List%20of%20default%20mounts%20for%20each%20container.%20**Deprecated%3A**%20this%20option%20will%0A%23%20be%20removed%20in%20future%20versions%20in%20favor%20of%20default_mounts_file.%0Adefault_mounts%20%3D%20%5B%0A%5D%0A%0A%23%20Maximum%20number%20of%20processes%20allowed%20in%20a%20container.%0Apids_limit%20%3D%201024%0A%0A%23%20Maximum%20sized%20allowed%20for%20the%20container%20log%20file.%20Negative%20numbers%20indicate%0A%23%20that%20no%20size%20limit%20is%20imposed.%20If%20it%20is%20positive%2C%20it%20must%20be%20%3E%3D%208192%20to%0A%23%20match%2Fexceed%20conmon's%20read%20buffer.%20The%20file%20is%20truncated%20and%20re-opened%20so%20the%0A%23%20limit%20is%20never%20exceeded.%0Alog_size_max%20%3D%20-1%0A%0A%23%20Whether%20container%20output%20should%20be%20logged%20to%20journald%20in%20addition%20to%20the%20kuberentes%20log%20file%0Alog_to_journald%20%3D%20false%0A%0A%23%20Path%20to%20directory%20in%20which%20container%20exit%20files%20are%20written%20to%20by%20conmon.%0Acontainer_exits_dir%20%3D%20%22%2Fvar%2Frun%2Fcrio%2Fexits%22%0A%0A%23%20Path%20to%20directory%20for%20container%20attach%20sockets.%0Acontainer_attach_socket_dir%20%3D%20%22%2Fvar%2Frun%2Fcrio%22%0A%0A%23%20The%20prefix%20to%20use%20for%20the%20source%20of%20the%20bind%20mounts.%0Abind_mount_prefix%20%3D%20%22%22%0A%0A%23%20If%20set%20to%20true%2C%20all%20containers%20will%20run%20in%20read-only%20mode.%0Aread_only%20%3D%20false%0A%0A%23%20Changes%20the%20verbosity%20of%20the%20logs%20based%20on%20the%20level%20it%20is%20set%20to.%20Options%0A%23%20are%20fatal%2C%20panic%2C%20error%2C%20warn%2C%20info%2C%20and%20debug.%20This%20option%20supports%20live%0A%23%20configuration%20reload.%0Alog_level%20%3D%20%22info%22%0A%0A%23%20The%20UID%20mappings%20for%20the%20user%20namespace%20of%20each%20container.%20A%20range%20is%0A%23%20specified%20in%20the%20form%20containerUID%3AHostUID%3ASize.%20Multiple%20ranges%20must%20be%0A%23%20separated%20by%20comma.%0Auid_mappings%20%3D%20%22%22%0A%0A%23%20The%20GID%20mappings%20for%20the%20user%20namespace%20of%20each%20container.%20A%20range%20is%0A%23%20specified%20in%20the%20form%20containerGID%3AHostGID%3ASize.%20Multiple%20ranges%20must%20be%0A%23%20separated%20by%20comma.%0Agid_mappings%20%3D%20%22%22%0A%0A%23%20The%20minimal%20amount%20of%20time%20in%20seconds%20to%20wait%20before%20issuing%20a%20timeout%0A%23%20regarding%20the%20proper%20termination%20of%20the%20container.%0Actr_stop_timeout%20%3D%200%0A%0A%23%20ManageNetworkNSLifecycle%20determines%20whether%20we%20pin%20and%20remove%20network%20namespace%0A%23%20and%20manage%20its%20lifecycle.%0Amanage_network_ns_lifecycle%20%3D%20false%0A%0A%23%20The%20%22crio.runtime.runtimes%22%20table%20defines%20a%20list%20of%20OCI%20compatible%20runtimes.%0A%23%20The%20runtime%20to%20use%20is%20picked%20based%20on%20the%20runtime_handler%20provided%20by%20the%20CRI.%0A%23%20If%20no%20runtime_handler%20is%20provided%2C%20the%20runtime%20will%20be%20picked%20based%20on%20the%20level%0A%23%20of%20trust%20of%20the%20workload.%20Each%20entry%20in%20the%20table%20should%20follow%20the%20format%3A%0A%23%0A%23%5Bcrio.runtime.runtimes.runtime-handler%5D%0A%23%20%20runtime_path%20%3D%20%22%2Fpath%2Fto%2Fthe%2Fexecutable%22%0A%23%20%20runtime_type%20%3D%20%22oci%22%0A%23%20%20runtime_root%20%3D%20%22%2Fpath%2Fto%2Fthe%2Froot%22%0A%23%0A%23%20Where%3A%0A%23%20-%20runtime-handler%3A%20name%20used%20to%20identify%20the%20runtime%0A%23%20-%20runtime_path%20(optional%2C%20string)%3A%20absolute%20path%20to%20the%20runtime%20executable%20in%0A%23%20%20%20the%20host%20filesystem.%20If%20omitted%2C%20the%20runtime-handler%20identifier%20should%20match%0A%23%20%20%20the%20runtime%20executable%20name%2C%20and%20the%20runtime%20executable%20should%20be%20placed%0A%23%20%20%20in%20%24PATH.%0A%23%20-%20runtime_type%20(optional%2C%20string)%3A%20type%20of%20runtime%2C%20one%20of%3A%20%22oci%22%2C%20%22vm%22.%20If%0A%23%20%20%20omitted%2C%20an%20%22oci%22%20runtime%20is%20assumed.%0A%23%20-%20runtime_root%20(optional%2C%20string)%3A%20root%20directory%20for%20storage%20of%20containers%0A%23%20%20%20state.%0A%5Bcrio.runtime.runtimes.runc%5D%0Aruntime_path%20%3D%20%22%22%0Aruntime_type%20%3D%20%22oci%22%0Aruntime_root%20%3D%20%22%2Frun%2Frunc%22%0A%0A%23%20CRI-O%20reads%20its%20configured%20registries%20defaults%20from%20the%20system%20wide%0A%23%20containers-registries.conf(5)%20located%20in%20%2Fetc%2Fcontainers%2Fregistries.conf.%20If%0A%23%20you%20want%20to%20modify%20just%20CRI-O%2C%20you%20can%20change%20the%20registries%20configuration%20in%0A%23%20this%20file.%20Otherwise%2C%20leave%20insecure_registries%20and%20registries%20commented%20out%20to%0A%23%20use%20the%20system's%20defaults%20from%20%2Fetc%2Fcontainers%2Fregistries.conf.%0A%5Bcrio.image%5D%0A%0A%23%20Default%20transport%20for%20pulling%20images%20from%20a%20remote%20container%20storage.%0Adefault_transport%20%3D%20%22docker%3A%2F%2F%22%0A%0A%23%20The%20path%20to%20a%20file%20containing%20credentials%20necessary%20for%20pulling%20images%20from%0A%23%20secure%20registries.%20The%20file%20is%20similar%20to%20that%20of%20%2Fvar%2Flib%2Fkubelet%2Fconfig.json%0Aglobal_auth_file%20%3D%20%22%2Fvar%2Flib%2Fkubelet%2Fconfig.json%22%0A%0A%23%20The%20image%20used%20to%20instantiate%20infra%20containers.%0A%23%20This%20option%20supports%20live%20configuration%20reload.%0Apause_image%20%3D%20%22quay.io%2Fopenshift-release-dev%2Focp-v4.0-art-dev%40sha256%3A1428f0d9146362d35d6bced979aca00a669ef89903014b0764b5191c18da5ff0%22%0A%0A%23%20The%20path%20to%20a%20file%20containing%20credentials%20specific%20for%20pulling%20the%20pause_image%20from%0A%23%20above.%20The%20file%20is%20similar%20to%20that%20of%20%2Fvar%2Flib%2Fkubelet%2Fconfig.json%0A%23%20This%20option%20supports%20live%20configuration%20reload.%0Apause_image_auth_file%20%3D%20%22%2Fvar%2Flib%2Fkubelet%2Fconfig.json%22%0A%0A%23%20The%20command%20to%20run%20to%20have%20a%20container%20stay%20in%20the%20paused%20state.%0A%23%20When%20explicitly%20set%20to%20%22%22%2C%20it%20will%20fallback%20to%20the%20entrypoint%20and%20command%0A%23%20specified%20in%20the%20pause%20image.%20When%20commented%20out%2C%20it%20will%20fallback%20to%20the%0A%23%20default%3A%20%22%2Fpause%22.%20This%20option%20supports%20live%20configuration%20reload.%0Apause_command%20%3D%20%22%2Fusr%2Fbin%2Fpod%22%0A%0A%23%20Path%20to%20the%20file%20which%20decides%20what%20sort%20of%20policy%20we%20use%20when%20deciding%0A%23%20whether%20or%20not%20to%20trust%20an%20image%20that%20we've%20pulled.%20It%20is%20not%20recommended%20that%0A%23%20this%20option%20be%20used%2C%20as%20the%20default%20behavior%20of%20using%20the%20system-wide%20default%0A%23%20policy%20(i.e.%2C%20%2Fetc%2Fcontainers%2Fpolicy.json)%20is%20most%20often%20preferred.%20Please%0A%23%20refer%20to%20containers-policy.json(5)%20for%20more%20details.%0Asignature_policy%20%3D%20%22%22%0A%0A%23%20Controls%20how%20image%20volumes%20are%20handled.%20The%20valid%20values%20are%20mkdir%2C%20bind%20and%0A%23%20ignore%3B%20the%20latter%20will%20ignore%20volumes%20entirely.%0Aimage_volumes%20%3D%20%22mkdir%22%0A%0A%23%20The%20crio.network%20table%20containers%20settings%20pertaining%20to%20the%20management%20of%0A%23%20CNI%20plugins.%0A%5Bcrio.network%5D%0A%23%20Path%20to%20the%20directory%20where%20CNI%20configuration%20files%20are%20located.%0Anetwork_dir%20%3D%20%22%2Fetc%2Fkubernetes%2Fcni%2Fnet.d%2F%22%0A%0A%23%20Paths%20to%20directories%20where%20CNI%20plugin%20binaries%20are%20located.%0Aplugin_dirs%20%3D%20%5B%0A%20%20%20%20%22%2Fvar%2Flib%2Fcni%2Fbin%22%2C%0A%5D%0A%0A%23%20A%20necessary%20configuration%20for%20Prometheus%20based%20metrics%20retrieval%0A%5Bcrio.metrics%5D%0A%0A%23%20Globally%20enable%20or%20disable%20metrics%20support.%0Aenable_metrics%20%3D%20true%0A%0A%23%20The%20port%20on%20which%20the%20metrics%20server%20will%20listen.%0Ametrics_port%20%3D%209537%0A
verification: {}
filesystem: root
mode: 420
path: /etc/crio/crio.conf
- contents:
source: data:,%7B%0A%20%20%20%20%22default%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22type%22%3A%20%22insecureAcceptAnything%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%2C%0A%20%20%20%20%22transports%22%3A%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22docker-daemon%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22%22%3A%20%5B%7B%22type%22%3A%22insecureAcceptAnything%22%7D%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%7D
verification: {}
filesystem: root
mode: 420
path: /etc/containers/policy.json
systemd: {}
fips: false
kernelArguments: null
kernelType: ""
osImageURL: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:8cea2679f40cd5e5bb95b7f511d444ea7ad74800bcc366d0129eb682459cdffd
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
annotations:
machineconfiguration.openshift.io/generated-by-controller-version: 910f22cb1550ad7bb02b82c5dc05062b1566ce5f
creationTimestamp: "2020-05-13T18:39:59Z"
generation: 1
labels:
machineconfiguration.openshift.io/role: worker-lb
name: 01-worker-lb-kubelet
ownerReferences:
- apiVersion: machineconfiguration.openshift.io/v1
blockOwnerDeletion: true
controller: true
kind: ControllerConfig
name: machine-config-controller
uid: a1f72006-0d0c-40f9-bb4c-4e47da17a179
resourceVersion: "574768"
selfLink: /apis/machineconfiguration.openshift.io/v1/machineconfigs/01-worker-lb-kubelet
uid: fa617c89-1058-4ccd-a1ed-c136c9fe0eb6
spec:
config:
ignition:
config: {}
security:
tls: {}
timeouts: {}
version: 2.2.0
networkd: {}
passwd: {}
storage:
files:
- contents:
source: data:,
verification: {}
filesystem: root
mode: 420
path: /etc/kubernetes/cloud.conf
- contents:
source: data:,kind%3A%20KubeletConfiguration%0AapiVersion%3A%20kubelet.config.k8s.io%2Fv1beta1%0Aauthentication%3A%0A%20%20x509%3A%0A%20%20%20%20clientCAFile%3A%20%2Fetc%2Fkubernetes%2Fkubelet-ca.crt%0A%20%20anonymous%3A%0A%20%20%20%20enabled%3A%20false%0AcgroupDriver%3A%20systemd%0AcgroupRoot%3A%20%2F%0AclusterDNS%3A%0A%20%20-%20172.30.0.10%0AclusterDomain%3A%20cluster.local%0AcontainerLogMaxSize%3A%2050Mi%0AmaxPods%3A%20250%0AkubeAPIQPS%3A%2050%0AkubeAPIBurst%3A%20100%0ArotateCertificates%3A%20true%0AserializeImagePulls%3A%20false%0AstaticPodPath%3A%20%2Fetc%2Fkubernetes%2Fmanifests%0AsystemCgroups%3A%20%2Fsystem.slice%0AsystemReserved%3A%0A%20%20cpu%3A%20500m%0A%20%20memory%3A%201Gi%0A%20%20ephemeral-storage%3A%201Gi%0AfeatureGates%3A%0A%20%20LegacyNodeRoleBehavior%3A%20false%0A%20%20NodeDisruptionExclusion%3A%20true%0A%20%20RotateKubeletServerCertificate%3A%20true%0A%20%20SCTPSupport%3A%20true%0A%20%20ServiceNodeExclusion%3A%20true%0A%20%20SupportPodPidsLimit%3A%20true%0AserverTLSBootstrap%3A%20true%0A
verification: {}
filesystem: root
mode: 420
path: /etc/kubernetes/kubelet.conf
systemd:
units:
- contents: |
[Unit]
Description=Kubernetes Kubelet
Wants=rpc-statd.service network-online.target crio.service
After=network-online.target crio.service
[Service]
Type=notify
ExecStartPre=/bin/mkdir --parents /etc/kubernetes/manifests
ExecStartPre=/bin/rm -f /var/lib/kubelet/cpu_manager_state
Environment="KUBELET_LOG_LEVEL=3"
EnvironmentFile=/etc/os-release
EnvironmentFile=-/etc/kubernetes/kubelet-workaround
EnvironmentFile=-/etc/kubernetes/kubelet-env
ExecStart=/usr/bin/hyperkube \
kubelet \
--config=/etc/kubernetes/kubelet.conf \
--bootstrap-kubeconfig=/etc/kubernetes/kubeconfig \
--kubeconfig=/var/lib/kubelet/kubeconfig \
--container-runtime=remote \
--container-runtime-endpoint=/var/run/crio/crio.sock \
--node-labels=node-role.kubernetes.io/worker-lb,node.openshift.io/os_id=${ID} \
--node-ip="${KUBELET_NODE_IP}" \
--address="${KUBELET_NODE_IP}" \
--minimum-container-ttl-duration=6m0s \
--volume-plugin-dir=/etc/kubernetes/kubelet-plugins/volume/exec \
--cloud-provider= \
\
--v=${KUBELET_LOG_LEVEL}
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
enabled: true
name: kubelet.service
fips: false
kernelArguments: null
kernelType: ""
osImageURL: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:8cea2679f40cd5e5bb95b7f511d444ea7ad74800bcc366d0129eb682459cdffd
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
annotations:
machineconfiguration.openshift.io/generated-by-controller-version: 910f22cb1550ad7bb02b82c5dc05062b1566ce5f
creationTimestamp: "2020-05-13T18:39:59Z"
generation: 1
labels:
machineconfiguration.openshift.io/role: worker-lb
name: 99-worker-lb-71522ed6-af40-467e-8c7b-0223665a6177-registries
ownerReferences:
- apiVersion: config.openshift.io/v1
kind: Image
name: cluster
uid: a40f0eee-1498-44c3-8cd6-4a12dc60b8fb
resourceVersion: "574773"
selfLink: /apis/machineconfiguration.openshift.io/v1/machineconfigs/99-worker-lb-71522ed6-af40-467e-8c7b-0223665a6177-registries
uid: d99f711d-73bb-4d1c-83d0-6499310b3e32
spec:
config:
ignition:
config: {}
security:
tls: {}
timeouts: {}
version: 2.2.0
networkd: {}
passwd: {}
storage:
files:
- contents:
source: data:text/plain,unqualified-search-registries%20%3D%20%5B%22registry.access.redhat.com%22%2C%20%22docker.io%22%5D%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22quay.io%2Fopenshift-release-dev%2Focp-release%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Flocalimages%2Flocal-release-image%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22quay.io%2Fopenshift-release-dev%2Focp-v4.0-art-dev%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Flocalimages%2Flocal-release-image%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fbridge-marker%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fbridge-marker%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fcluster-network-addons-operator%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fcluster-network-addons-operator%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fcnv-containernetworking-plugins%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fcnv-containernetworking-plugins%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fcnv-must-gather-rhel8%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fcnv-must-gather-rhel8%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fhostpath-provisioner-rhel8%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fhostpath-provisioner-rhel8%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fhostpath-provisioner-rhel8-operator%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fhostpath-provisioner-rhel8-operator%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fhyperconverged-cluster-operator%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fhyperconverged-cluster-operator%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fkubemacpool%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fkubemacpool%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fkubernetes-nmstate-handler-rhel8%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fkubernetes-nmstate-handler-rhel8%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fkubevirt-cpu-model-nfd-plugin%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fkubevirt-cpu-model-nfd-plugin%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fkubevirt-cpu-node-labeller%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fkubevirt-cpu-node-labeller%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fkubevirt-kvm-info-nfd-plugin%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fkubevirt-kvm-info-nfd-plugin%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fkubevirt-metrics-collector%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fkubevirt-metrics-collector%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fkubevirt-ssp-operator%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fkubevirt-ssp-operator%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fkubevirt-template-validator%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fkubevirt-template-validator%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fkubevirt-v2v-conversion%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fkubevirt-v2v-conversion%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fkubevirt-vmware%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fkubevirt-vmware%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fnode-maintenance-operator%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fnode-maintenance-operator%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fovs-cni-marker%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fovs-cni-marker%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fovs-cni-plugin%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fovs-cni-plugin%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fvirt-api%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fvirt-api%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fvirt-cdi-apiserver%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fvirt-cdi-apiserver%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fvirt-cdi-cloner%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fvirt-cdi-cloner%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fvirt-cdi-controller%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fvirt-cdi-controller%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fvirt-cdi-importer%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fvirt-cdi-importer%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fvirt-cdi-operator%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fvirt-cdi-operator%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fvirt-cdi-uploadproxy%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fvirt-cdi-uploadproxy%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fvirt-cdi-uploadserver%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fvirt-cdi-uploadserver%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fvirt-controller%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fvirt-controller%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fvirt-handler%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fvirt-handler%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fvirt-launcher%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fvirt-launcher%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fvirt-operator%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fvirt-operator%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fcontainer-native-virtualization%2Fvirtio-win%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fcontainer-native-virtualization%2Fvirtio-win%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fopenshift4%2Fose-local-storage-diskmaker%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fopenshift4%2Fose-local-storage-diskmaker%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fopenshift4%2Fose-local-storage-operator%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fopenshift4%2Fose-local-storage-operator%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fopenshift4%2Fose-local-storage-static-provisioner%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fopenshift4%2Fose-local-storage-static-provisioner%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fopenshift4%2Fose-ptp%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fopenshift4%2Fose-ptp%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fopenshift4%2Fose-ptp-operator%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fopenshift4%2Fose-ptp-operator%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fopenshift4%2Fose-sriov-cni%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fopenshift4%2Fose-sriov-cni%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fopenshift4%2Fose-sriov-dp-admission-controller%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fopenshift4%2Fose-sriov-dp-admission-controller%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fopenshift4%2Fose-sriov-network-config-daemon%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fopenshift4%2Fose-sriov-network-config-daemon%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fopenshift4%2Fose-sriov-network-device-plugin%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fopenshift4%2Fose-sriov-network-device-plugin%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fopenshift4%2Fose-sriov-network-operator%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fopenshift4%2Fose-sriov-network-operator%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fopenshift4%2Fose-sriov-network-webhook%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fopenshift4%2Fose-sriov-network-webhook%22%0A%0A%5B%5Bregistry%5D%5D%0A%20%20prefix%20%3D%20%22%22%0A%20%20location%20%3D%20%22registry.stage.redhat.io%2Fopenshift4%2Fperformance-addon-rhel8-operator%22%0A%20%20mirror-by-digest-only%20%3D%20true%0A%0A%20%20%5B%5Bregistry.mirror%5D%5D%0A%20%20%20%20location%20%3D%20%22registry.ocp-edge-cluster-0.qe.lab.redhat.com%3A5000%2Fopenshift4%2Fperformance-addon-rhel8-operator%22%0A
verification: {}
filesystem: root
mode: 420
path: /etc/containers/registries.conf
systemd: {}
fips: false
kernelArguments: null
kernelType: ""
osImageURL: ""
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
labels:
machineconfiguration.openshift.io/role: worker-lb
name: 99-worker-lb-disable-smt
spec:
kernelArguments:
- nosmt
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"machineconfiguration.openshift.io/v1","kind":"MachineConfig","metadata":{"annotations":{},"creationTimestamp":"2020-05-12T20:05:52Z","generation":2,"labels":{"machineconfiguration.openshift.io/role":"worker-lb"},"name":"99-worker-lb-etc-chrony-conf","resourceVersion":"158647","selfLink":"/apis/machineconfiguration.openshift.io/v1/machineconfigs/99-worker-lb-etc-chrony-conf","uid":"d50bce60-5746-4c40-a632-b0b82fdb63a2"},"spec":{"config":{"ignition":{"config":{},"security":{"tls":{}},"timeouts":{},"version":"2.2.0"},"networkd":{},"passwd":{},"storage":{"files":[{"contents":{"source":"data:text/plain;charset=utf-8;base64,c2VydmVyIGh5cGVydmlzb3Iub2NwLWVkZ2UtY2x1c3Rlci0wLnFlLmxhYi5yZWRoYXQuY29tIGlidXJzdApzdHJhdHVtd2VpZ2h0IDAKZHJpZnRmaWxlIC92YXIvbGliL2Nocm9ueS9kcmlmdApydGNzeW5jCm1ha2VzdGVwIDEwIDMKYmluZGNtZGFkZHJlc3MgMTI3LjAuMC4xCmJpbmRjbWRhZGRyZXNzIDo6MQprZXlmaWxlIC9ldGMvY2hyb255LmtleXMKY29tbWFuZGtleSAxCmdlbmVyYXRlY29tbWFuZGtleQpub2NsaWVudGxvZwpsb2djaGFuZ2UgMC41Cg==","verification":{}},"filesystem":"root","group":{"name":"root"},"mode":420,"path":"/etc/chrony.conf","user":{"name":"root"}}]},"systemd":{}},"osImageURL":""}}
creationTimestamp: "2020-05-13T18:39:59Z"
generation: 1
labels:
machineconfiguration.openshift.io/role: worker-lb
name: 99-worker-lb-etc-chrony-conf
resourceVersion: "574778"
selfLink: /apis/machineconfiguration.openshift.io/v1/machineconfigs/99-worker-lb-etc-chrony-conf
uid: af2ad648-f022-44b5-9de9-559706866524
spec:
config:
ignition:
config: {}
security:
tls: {}
timeouts: {}
version: 2.2.0
networkd: {}
passwd: {}
storage:
files:
- contents:
source: data:text/plain;charset=utf-8;base64,c2VydmVyIGh5cGVydmlzb3Iub2NwLWVkZ2UtY2x1c3Rlci0wLnFlLmxhYi5yZWRoYXQuY29tIGlidXJzdApzdHJhdHVtd2VpZ2h0IDAKZHJpZnRmaWxlIC92YXIvbGliL2Nocm9ueS9kcmlmdApydGNzeW5jCm1ha2VzdGVwIDEwIDMKYmluZGNtZGFkZHJlc3MgMTI3LjAuMC4xCmJpbmRjbWRhZGRyZXNzIDo6MQprZXlmaWxlIC9ldGMvY2hyb255LmtleXMKY29tbWFuZGtleSAxCmdlbmVyYXRlY29tbWFuZGtleQpub2NsaWVudGxvZwpsb2djaGFuZ2UgMC41Cg==
verification: {}
filesystem: root
group:
name: root
mode: 420
path: /etc/chrony.conf
user:
name: root
systemd: {}
osImageURL: ""
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
creationTimestamp: "2020-05-13T18:39:59Z"
generation: 1
labels:
machineconfiguration.openshift.io/role: worker-lb
name: 99-worker-lb-ssh
resourceVersion: "574779"
selfLink: /apis/machineconfiguration.openshift.io/v1/machineconfigs/99-worker-lb-ssh
uid: 22b638ec-8931-49d2-8db7-835a6a70dff2
spec:
config:
ignition:
config: {}
security:
tls: {}
timeouts: {}
version: 2.2.0
networkd: {}
passwd:
users:
- name: core
sshAuthorizedKeys:
- |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCi/UH15y9bIJgxczPxt4a57CN+M9ESzVmLL/RFg5ZLuWzxECOrZ6/jwLbm+/vNETMre/75IBwrIN3DCA45ya+KkzY5iohq64ElcrVShcBX8AEVbAhuO2V/VEalP2Pk3a76fV9SHwiTabtKdM8ycBmBwlfQG/LpkgS8wXXT9N0I1dpxubtUu70aJQX9lsYXm/KChsQ3JLrugKkF7rlaHrfq/sC845eIqTY7rLD5YbB+SAGPVLXU8oiPWVmKaQe5qtNgNwBYxq3zmqRRY75+2hwM8U+l+BV5AprYEPXedIiwZIWhKePdj3qxMSnZ2lkEDP89uhshutS7xJRgwCMQep2Lmxq6wP2Oph4o/bijGQwEz76x+jeucOZdKQZCZX8ARddL9RLIe3xO2L3R6rUt9tDCVEKEV2RNnTQSVDE1H62ARVEeEIJSRNkafJZDHWlFjPVoco9jyZaM2vL88WT+IiUoSXmVW82Z5sg1vWcDEn9KCPmAtD/7iiCDuoDax/u2AUU= kni@provisionhost-0-0.ocp-edge-cluster-0.qe.lab.redhat.com
storage: {}
systemd: {}
fips: false
kernelArguments: null
osImageURL: ""
apiVersion: machine.openshift.io/v1beta1
kind: MachineSet
metadata:
generation: 1
labels:
machine.openshift.io/cluster-api-cluster: ocp-edge-cluster-0
machine.openshift.io/cluster-api-machine-role: worker-lb
machine.openshift.io/cluster-api-machine-type: worker-lb
name: ocp-edge-cluster-0-worker-lb-0
namespace: openshift-machine-api
selfLink: /apis/machine.openshift.io/v1beta1/namespaces/openshift-machine-api/machinesets/ocp-edge-cluster-0-worker-lb-0
spec:
replicas: 0
selector:
matchLabels:
machine.openshift.io/cluster-api-cluster: ocp-edge-cluster-0
machine.openshift.io/cluster-api-machineset: ocp-edge-cluster-0-worker-lb-0
template:
metadata:
creationTimestamp: null
labels:
machine.openshift.io/cluster-api-cluster: ocp-edge-cluster-0
machine.openshift.io/cluster-api-machine-role: worker-lb
machine.openshift.io/cluster-api-machine-type: worker-lb
machine.openshift.io/cluster-api-machineset: ocp-edge-cluster-0-worker-lb-0
spec:
metadata:
labels:
node-role.kubernetes.io/worker-lb: ""
creationTimestamp: null
providerSpec:
value:
hostSelector: {}
image:
checksum: http://[fd00:1101::3]:6180/images/rhcos-44.81.202004250133-0-openstack.x86_64.qcow2/rhcos-44.81.202004250133-0-compressed.x86_64.qcow2.md5sum
url: http://[fd00:1101::3]:6180/images/rhcos-44.81.202004250133-0-openstack.x86_64.qcow2/rhcos-44.81.202004250133-0-compressed.x86_64.qcow2
metadata:
creationTimestamp: null
userData:
name: worker-lb-user-data
apiVersion: v1
data:
password: cGFzc3dvcmQ=
username: YWRtaW4=
kind: Secret
metadata:
creationTimestamp: null
name: openshift-worker-0-2-bmc-secret
namespace: openshift-machine-api
type: Opaque
---
apiVersion: v1
data:
password: cGFzc3dvcmQ=
username: YWRtaW4=
kind: Secret
metadata:
creationTimestamp: null
name: openshift-worker-0-3-bmc-secret
namespace: openshift-machine-api
type: Opaque
apiVersion: metal3.io/v1alpha1
kind: BareMetalHost
metadata:
creationTimestamp: null
name: openshift-worker-0-2
namespace: openshift-machine-api
spec:
bmc:
address: redfish://192.168.123.1:8000/redfish/v1/Systems/41d83bd4-5e46-4b27-a8a5-917533a12c51
credentialsName: openshift-worker-0-2-bmc-secret
disableCertificateVerification: true
bootMACAddress: 52:54:00:b2:6c:90
online: false
userData:
name: worker-user-data
namespace: openshift-machine-api
---
apiVersion: metal3.io/v1alpha1
kind: BareMetalHost
metadata:
creationTimestamp: null
name: openshift-worker-0-3
namespace: openshift-machine-api
spec:
bmc:
address: redfish://192.168.123.1:8000/redfish/v1/Systems/7a0cc5e9-c825-482d-ad55-f416ab6d12e1
credentialsName: openshift-worker-0-3-bmc-secret
disableCertificateVerification: true
bootMACAddress: 52:54:00:c2:66:8e
online: false
userData:
name: worker-user-data
namespace: openshift-machine-api
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfigPool
metadata:
creationTimestamp: null
labels:
machineconfiguration.openshift.io/mco-built-in: ""
name: worker-lb
spec:
machineConfigSelector:
matchLabels:
machineconfiguration.openshift.io/role: worker-lb
nodeSelector:
matchLabels:
node-role.kubernetes.io/worker-lb: ""
paused: false
apiVersion: v1
data:
disableTemplating: dHJ1ZQo=
userData: eyJpZ25pdGlvbiI6eyJjb25maWciOnsiYXBwZW5kIjpbeyJzb3VyY2UiOiJodHRwczovLzE5Mi4xNjguMTIzLjU6MjI2MjMvY29uZmlnL3dvcmtlciIsInZlcmlmaWNhdGlvbiI6e319XX0sInNlY3VyaXR5Ijp7InRscyI6eyJjZXJ0aWZpY2F0ZUF1dGhvcml0aWVzIjpbeyJzb3VyY2UiOiJkYXRhOnRleHQvcGxhaW47Y2hhcnNldD11dGYtODtiYXNlNjQsTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkZSRU5EUVdacFowRjNTVUpCWjBsSlRXdG1iVEZpSzJsNVQwbDNSRkZaU2t0dldrbG9kbU5PUVZGRlRFSlJRWGRLYWtWVFRVSkJSMEV4VlVVS1EzaE5TbUl6UW14aWJrNXZZVmRhTUUxU1FYZEVaMWxFVmxGUlJFVjNaSGxpTWprd1RGZE9hRTFDTkZoRVZFbDNUVVJWZUUxcVJUVk9SRlY1VFd4dldBcEVWRTEzVFVSVmVFMUVSVFZPUkZWNVRXeHZkMHBxUlZOTlFrRkhRVEZWUlVONFRVcGlNMEpzWW01T2IyRlhXakJOVWtGM1JHZFpSRlpSVVVSRmQyUjVDbUl5T1RCTVYwNW9UVWxKUWtscVFVNUNaMnR4YUd0cFJ6bDNNRUpCVVVWR1FVRlBRMEZST0VGTlNVbENRMmRMUTBGUlJVRXdUamRITkhkRE5sTjZUUzhLYWxWWVprUkNTR1JFSzJKcWJrVjBWVFI1VERSSlRTdHRXV1JaZUhoamNETXdLekpPT1VscVZuY3ZOVk40VW1KaE5FZGhORUp0U25KSE1sbzNWRXR3YmdwUFFUbExURXhSZGpWTk5qTjZURFoyYzBOWFMxZDBOVEJFYVdwRlFYRjNVRU00UzJ0U1pWQnhUREJxTXl0TGJsSm5ObVU1UVVGTlZXaFNaaXRuTVVKVkNraDNlV3RrYVVwS1Mwa3dlVlZKUTFkaVZESTRTekp4TWpaalZrZGFTaXQxYlRBMU0weGtUemhqVEZSTmNXUmtiR1ZVTDNkYVYxbExNWFl3TUV0SGQyY0thM1JNV1dOU2NrdDNhalZtZVUwMFdXVmtkeTlRY2xGMGJHZDNUSGRDWmsxeFlVVkNWRzlqUmtSelNsRk1Va2RDU0RodldFRnViR2RvTmxCNWNrUTBid295Um5GT1VWVllVVU5rTDFFMWFtWXliMGhtWjJvdk5IVXljekkwWkdwRVdsSTRZa3dyT0dFeVpsZGlhREF2V1RZNFFrUm5hRVJOU2xGc2RrUllieXRpQ210cVpISXdlRTlWTm5kSlJFRlJRVUp2TUVsM1VVUkJUMEpuVGxaSVVUaENRV1k0UlVKQlRVTkJjVkYzUkhkWlJGWlNNRlJCVVVndlFrRlZkMEYzUlVJS0wzcEJaRUpuVGxaSVVUUkZSbWRSVlZCeGRsQllOVUZxTHk5cmVYWm1hbk5PZGpGWFZIcEdNR1ZQVlhkRVVWbEtTMjlhU1doMlkwNUJVVVZNUWxGQlJBcG5aMFZDUVVReVRpdG9Ta0ZaVm14aE1qZ3pjMlF5UzI1aWNscHdNMDkxTDI5dlMzUkdkMFJ2UmpCUFJHdEJVSGxhUlhka1pXWm9NRTVwYVRGRVVWZzFDa0ZMZGtkbldUQllSRTgyWVVZNVoyVndSalJCYVhORlZsSjBVVlZhT1d4TGFuQmlXVUpRYUVrdlVIRTJjVkp4UkU1Rk9FazBUbWx0WmtSNVZFOUlTRTBLTVZWSVFqUldPVkJQV1dGeFIweHpkR1Y1T0ZaUk0zcGlPRXh4YzNsQ2NreGpOR0ZYVUVFeFdXODRXalI2VkVaS0sxcDRZVVZaSzBWTFFtSjBTVFoxVGdwdUwyc3pRVlJGWmpSaVUyWnFWV0ozY0U0ellXTk5aRTEyYkROTWFtUlNka2huVjBJMldHUm1jVlZyTDJWVFJUTTRWSEIwUmpkMGQxRnRLelJHTjBGQ0NtNURTa3RTVUhJNU9DOVplRVJOTjFrM2VVYzVha1oxY1RCeVNsZGxOVVpaYkVJeFJqWkpNakJWY1V0UGJFSTVTVlJCVlZSNE5sRmhNRTlTTUVWM1ExRUtSMVpPWVRoRFIxUkVSRGhJU2tOd1lqSnhUMGhYTVdGc1dVMU5QUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09IiwidmVyaWZpY2F0aW9uIjp7fX1dfX0sInRpbWVvdXRzIjp7fSwidmVyc2lvbiI6IjIuMi4wIn0sIm5ldHdvcmtkIjp7fSwicGFzc3dkIjp7fSwic3RvcmFnZSI6e30sInN5c3RlbWQiOnt9fQ==
kind: Secret
metadata:
creationTimestamp: "2020-05-12T19:53:39Z"
name: worker-user-data
namespace: openshift-machine-api
resourceVersion: "669"
selfLink: /api/v1/namespaces/openshift-machine-api/secrets/worker-user-data
uid: ff00e8c6-dad8-4a30-a4dd-17173d625df4
type: Opaque
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment