bottlerocket-os / bottlerocket

An operating system designed for hosting containers
https://bottlerocket.dev
Other
8.64k stars 508 forks source link

sources: update to bottlerocket-settings-models v0.3.0 #4145

Closed ytsssun closed 1 month ago

ytsssun commented 1 month ago

Issue number:

Relevant to #4135

Description of changes: Consume bottlerocket-settings-models v0.3.0. See the changelog for more details.

Testing done: Built an aws-k8s-1.29-nvidia variant and launched a g4dn.xlarge instance.

Confirmed that conditional support for settings works.

Failed to change settings: Failed PATCH request to '/settings/keypair?tx=apiclient-set-fiHbG2iUZBOobZn2': Status 400 when PATCHing /settings/keypair?tx=apiclient-set-fiHbG2iUZBOobZn2: Unable to match your input to the data model. We may not have enough type information. Please try the --json input form. Cause: Error during deserialization: unknown field nvidia-container-runtime, expected one of motd, kubernetes, updates, host-containers, bootstrap-containers, ntp, network, kernel, boot, aws, metrics, pki, container-registry, oci-defaults, oci-hooks, cloudformation, dns, container-runtime, autoscaling at line 1 column 27


- [x] Test setting `settings.kubernetes.device-plugins.nvidia` will be rejected

[ssm-user@control]$ apiclient set settings.kubernetes.device-plugins.nvidia.device-list-strategy=envvar

Failed to change settings: Failed PATCH request to '/settings/keypair?tx=apiclient-set-YidJIyumWqfaNJZD': Status 400 when PATCHing /settings/keypair?tx=apiclient-set-YidJIyumWqfaNJZD: Unable to match your input to the data model. We may not have enough type information. Please try the --json input form. Cause: Error during deserialization: unknown field device-plugins, expected one of cluster-name, cluster-certificate, api-server, node-labels, node-taints, static-pods, authentication-mode, bootstrap-token, standalone-mode, eviction-hard, eviction-soft, eviction-soft-grace-period, eviction-max-pod-grace-period, kube-reserved, system-reserved, allowed-unsafe-sysctls, server-tls-bootstrap, cloud-provider, registry-qps, registry-burst, event-qps, event-burst, kube-api-qps, kube-api-burst, container-log-max-size, container-log-max-files, cpu-cfs-quota-enforced, cpu-manager-policy, cpu-manager-reconcile-period, cpu-manager-policy-options, topology-manager-scope, topology-manager-policy, pod-pids-limit, image-gc-high-threshold-percent, image-gc-low-threshold-percent, provider-id, log-level, credential-providers, server-certificate, server-key, shutdown-grace-period, shutdown-grace-period-for-critical-pods, memory-manager-reserved-memory, memory-manager-policy, reserved-cpus, max-pods, cluster-dns-ip, cluster-domain, node-ip, pod-infra-container-image, hostname-override, hostname-override-source, seccomp-default at line 1 column 31



**Terms of contribution:**

By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.