From 3eb04444371e1633ad9d47dbad4af861746ff13f Mon Sep 17 00:00:00 2001 From: Dawn Chen Date: Tue, 7 Jul 2015 16:05:32 -0700 Subject: [PATCH 01/16] Disable liveness for dns due to #10659 --- cluster/addons/dns/skydns-rc.yaml.in | 8 -------- 1 file changed, 8 deletions(-) diff --git a/cluster/addons/dns/skydns-rc.yaml.in b/cluster/addons/dns/skydns-rc.yaml.in index 174ea5a77b7..1a6bacac2e5 100644 --- a/cluster/addons/dns/skydns-rc.yaml.in +++ b/cluster/addons/dns/skydns-rc.yaml.in @@ -61,12 +61,4 @@ spec: - containerPort: 53 name: dns-tcp protocol: TCP - livenessProbe: - exec: - command: - - /bin/sh - - -c - - nslookup kubernetes.default.svc.{{ pillar['dns_domain'] }} localhost >/dev/null - initialDelaySeconds: 30 - timeoutSeconds: 5 dnsPolicy: Default # Don't use cluster DNS. From 940e555cdf3f14c3e14455ae70bdf47618bcd7d0 Mon Sep 17 00:00:00 2001 From: Dawn Chen Date: Tue, 7 Jul 2015 16:29:27 -0700 Subject: [PATCH 02/16] Upgrade to v6 from v5 --- cluster/addons/dns/skydns-rc.yaml.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cluster/addons/dns/skydns-rc.yaml.in b/cluster/addons/dns/skydns-rc.yaml.in index 1a6bacac2e5..8f4e3ff1117 100644 --- a/cluster/addons/dns/skydns-rc.yaml.in +++ b/cluster/addons/dns/skydns-rc.yaml.in @@ -1,22 +1,22 @@ apiVersion: v1 kind: ReplicationController metadata: - name: kube-dns-v5 + name: kube-dns-v6 namespace: kube-system labels: k8s-app: kube-dns - version: v5 + version: v6 kubernetes.io/cluster-service: "true" spec: replicas: {{ pillar['dns_replicas'] }} selector: k8s-app: kube-dns - version: v5 + version: v6 template: metadata: labels: k8s-app: kube-dns - version: v5 + version: v6 kubernetes.io/cluster-service: "true" spec: containers: From fadb9e16d4c42aa2e64df8a187b43cab4eb38077 Mon Sep 17 00:00:00 2001 From: Brendan Burns Date: Tue, 7 Jul 2015 15:39:53 -0700 Subject: [PATCH 03/16] Generate a kubeconfig file for the kubelet. --- .../templates/create-dynamic-salt-files.sh | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/cluster/aws/templates/create-dynamic-salt-files.sh b/cluster/aws/templates/create-dynamic-salt-files.sh index 361dc696077..af1bd99b6ec 100644 --- a/cluster/aws/templates/create-dynamic-salt-files.sh +++ b/cluster/aws/templates/create-dynamic-salt-files.sh @@ -81,6 +81,27 @@ contexts: current-context: service-account-context EOF +mkdir -p /srv/salt-overlay/salt/kubelet +kubelet_kubeconfig_file="/srv/salt-overlay/salt/kubelet/kubeconfig" +cat > "${kubelet_kubeconfig_file}" < Date: Tue, 7 Jul 2015 20:31:48 -0700 Subject: [PATCH 04/16] Don't start Docker by default on AWS --- cluster/saltbase/salt/docker/init.sls | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/cluster/saltbase/salt/docker/init.sls b/cluster/saltbase/salt/docker/init.sls index 7f3b3addbf5..e425f32e708 100644 --- a/cluster/saltbase/salt/docker/init.sls +++ b/cluster/saltbase/salt/docker/init.sls @@ -114,11 +114,19 @@ lxc-docker-{{ override_docker_ver }}: - lxc-docker-{{ override_docker_ver }}: /var/cache/docker-install/{{ override_deb }} - require: - file: /var/cache/docker-install/{{ override_deb }} -{% endif %} +{% endif %} # end override_docker_ver != '' docker: service.running: +# Starting Docker is racy on aws for some reason. To be honest, since Monit +# is managing Docker restart we should probably just delete this whole thing +# but the kubernetes components use salt 'require' to set up a dag, and that +# complicated and scary to unwind. +{% if grains.cloud is defined and grains.cloud == 'aws' %} + - enable: False +{% else %} - enable: True +{% endif %} - watch: - file: {{ environment_file }} {% if override_docker_ver != '' %} @@ -126,4 +134,4 @@ docker: - pkg: lxc-docker-{{ override_docker_ver }} {% endif %} -{% endif %} +{% endif %} # end grains.os_family != 'RedHat' From e2583915e95601ed0954a40c875fe9cb02aec19d Mon Sep 17 00:00:00 2001 From: derekwaynecarr Date: Wed, 8 Jul 2015 10:19:25 -0400 Subject: [PATCH 05/16] Missing ca crt in vagrant controllers --- .../kube-controller-manager.manifest | 2 +- cluster/vagrant/config-default.sh | 6 ++++++ cluster/vagrant/provision-master.sh | 2 +- cluster/vagrant/util.sh | 2 ++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/cluster/saltbase/salt/kube-controller-manager/kube-controller-manager.manifest b/cluster/saltbase/salt/kube-controller-manager/kube-controller-manager.manifest index 3303c2f0bc7..534ff91b23e 100644 --- a/cluster/saltbase/salt/kube-controller-manager/kube-controller-manager.manifest +++ b/cluster/saltbase/salt/kube-controller-manager/kube-controller-manager.manifest @@ -30,7 +30,7 @@ {% set root_ca_file = "" -%} -{% if grains['cloud'] is defined and grains.cloud in [ 'aws', 'gce' ] %} +{% if grains['cloud'] is defined and grains.cloud in [ 'aws', 'gce', 'vagrant' ] %} {% set root_ca_file = "--root_ca_file=/srv/kubernetes/ca.crt" -%} {% endif -%} diff --git a/cluster/vagrant/config-default.sh b/cluster/vagrant/config-default.sh index 7a154bcfd6d..afe34e824e1 100755 --- a/cluster/vagrant/config-default.sh +++ b/cluster/vagrant/config-default.sh @@ -82,3 +82,9 @@ DNS_REPLICAS=1 # Optional: Enable setting flags for kube-apiserver to turn on behavior in active-dev #RUNTIME_CONFIG="" RUNTIME_CONFIG="api/v1" + +# Determine extra certificate names for master +octets=($(echo "$SERVICE_CLUSTER_IP_RANGE" | sed -e 's|/.*||' -e 's/\./ /g')) +((octets[3]+=1)) +service_ip=$(echo "${octets[*]}" | sed 's/ /./g') +MASTER_EXTRA_SANS="IP:${service_ip},DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.${DNS_DOMAIN},DNS:${MASTER_NAME}" diff --git a/cluster/vagrant/provision-master.sh b/cluster/vagrant/provision-master.sh index 5100d0a0797..720cbe2af96 100755 --- a/cluster/vagrant/provision-master.sh +++ b/cluster/vagrant/provision-master.sh @@ -99,12 +99,12 @@ grains: - kubernetes-master runtime_config: '$(echo "$RUNTIME_CONFIG" | sed -e "s/'/''/g")' docker_opts: '$(echo "$DOCKER_OPTS" | sed -e "s/'/''/g")' + master_extra_sans: '$(echo "$MASTER_EXTRA_SANS" | sed -e "s/'/''/g")' EOF mkdir -p /srv/salt-overlay/pillar cat </srv/salt-overlay/pillar/cluster-params.sls service_cluster_ip_range: '$(echo "$SERVICE_CLUSTER_IP_RANGE" | sed -e "s/'/''/g")' - cert_ip: '$(echo "$MASTER_IP" | sed -e "s/'/''/g")' enable_cluster_monitoring: '$(echo "$ENABLE_CLUSTER_MONITORING" | sed -e "s/'/''/g")' enable_cluster_logging: '$(echo "$ENABLE_CLUSTER_LOGGING" | sed -e "s/'/''/g")' enable_node_logging: '$(echo "$ENABLE_NODE_LOGGING" | sed -e "s/'/''/g")' diff --git a/cluster/vagrant/util.sh b/cluster/vagrant/util.sh index b959ffbb1ce..3f3b73ad081 100644 --- a/cluster/vagrant/util.sh +++ b/cluster/vagrant/util.sh @@ -145,6 +145,7 @@ function create-provision-scripts { echo "VAGRANT_DEFAULT_PROVIDER='${VAGRANT_DEFAULT_PROVIDER:-}'" echo "KUBELET_TOKEN='${KUBELET_TOKEN:-}'" echo "KUBE_PROXY_TOKEN='${KUBE_PROXY_TOKEN:-}'" + echo "MASTER_EXTRA_SANS='${MASTER_EXTRA_SANS:-}'" awk '!/^#/' "${KUBE_ROOT}/cluster/vagrant/provision-network.sh" awk '!/^#/' "${KUBE_ROOT}/cluster/vagrant/provision-master.sh" ) > "${KUBE_TEMP}/master-start.sh" @@ -169,6 +170,7 @@ function create-provision-scripts { echo "VAGRANT_DEFAULT_PROVIDER='${VAGRANT_DEFAULT_PROVIDER:-}'" echo "KUBELET_TOKEN='${KUBELET_TOKEN:-}'" echo "KUBE_PROXY_TOKEN='${KUBE_PROXY_TOKEN:-}'" + echo "MASTER_EXTRA_SANS='${MASTER_EXTRA_SANS:-}'" awk '!/^#/' "${KUBE_ROOT}/cluster/vagrant/provision-network.sh" awk '!/^#/' "${KUBE_ROOT}/cluster/vagrant/provision-minion.sh" ) > "${KUBE_TEMP}/minion-start-${i}.sh" From d09c9fe355e686aeb89fa01f3d1560882a3ca083 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Mon, 29 Jun 2015 14:17:17 -0400 Subject: [PATCH 06/16] Salt: support systemd (don't assume Redhat <=> systemd) Also work around problems with Salt & systemd services, in particular that Salt doesn't issue a daemon-reload. --- cluster/saltbase/pillar/systemd.sls | 9 +++ cluster/saltbase/pillar/top.sls | 1 + cluster/saltbase/salt/docker/docker-defaults | 7 +- cluster/saltbase/salt/docker/docker.service | 20 ++++++ cluster/saltbase/salt/docker/init.sls | 32 ++++++++- cluster/saltbase/salt/etcd/init.sls | 4 +- cluster/saltbase/salt/kube-addons/init.sls | 12 ++-- .../kube-apiserver/kube-apiserver.manifest | 2 +- .../saltbase/salt/kube-master-addons/init.sls | 57 ++++++++++------ cluster/saltbase/salt/kube-proxy/default | 2 +- cluster/saltbase/salt/kube-proxy/init.sls | 51 ++++++++------ cluster/saltbase/salt/kubelet/default | 2 +- cluster/saltbase/salt/kubelet/init.sls | 57 ++++++++++------ cluster/saltbase/salt/monit/init.sls | 2 +- cluster/saltbase/salt/salt-helpers/init.sls | 15 +++++ cluster/saltbase/salt/salt-helpers/services | 67 +++++++++++++++++++ cluster/saltbase/salt/top.sls | 1 + 17 files changed, 264 insertions(+), 77 deletions(-) create mode 100644 cluster/saltbase/pillar/systemd.sls create mode 100644 cluster/saltbase/salt/docker/docker.service create mode 100644 cluster/saltbase/salt/salt-helpers/init.sls create mode 100644 cluster/saltbase/salt/salt-helpers/services diff --git a/cluster/saltbase/pillar/systemd.sls b/cluster/saltbase/pillar/systemd.sls new file mode 100644 index 00000000000..83f4804f0b2 --- /dev/null +++ b/cluster/saltbase/pillar/systemd.sls @@ -0,0 +1,9 @@ +{% if grains['oscodename'] in [ 'vivid', 'jessie' ] %} +is_systemd: True +systemd_system_path: /lib/systemd/system +{% elif grains['os_family'] == 'RedHat' %} +is_systemd: True +systemd_system_path: /usr/lib/systemd/system +{% else %} +is_systemd: False +{% endif %} diff --git a/cluster/saltbase/pillar/top.sls b/cluster/saltbase/pillar/top.sls index 273eb165f02..d9ad7dbfc34 100644 --- a/cluster/saltbase/pillar/top.sls +++ b/cluster/saltbase/pillar/top.sls @@ -5,3 +5,4 @@ base: - logging - docker-images - privilege + - systemd diff --git a/cluster/saltbase/salt/docker/docker-defaults b/cluster/saltbase/salt/docker/docker-defaults index f325b4945d5..4c1aee2c6cf 100644 --- a/cluster/saltbase/salt/docker/docker-defaults +++ b/cluster/saltbase/salt/docker/docker-defaults @@ -1,6 +1,3 @@ -DOCKER_OPTS="" -{% if grains.docker_opts is defined and grains.docker_opts %} -DOCKER_OPTS="${DOCKER_OPTS} {{grains.docker_opts}}" -{% endif %} -DOCKER_OPTS="${DOCKER_OPTS} --bridge=cbr0 --iptables=false --ip-masq=false" +{% set grains_opts = grains.get('docker_opts', '') -%} +DOCKER_OPTS="{{grains_opts}} --bridge=cbr0 --iptables=false --ip-masq=false" DOCKER_NOFILE=1000000 diff --git a/cluster/saltbase/salt/docker/docker.service b/cluster/saltbase/salt/docker/docker.service new file mode 100644 index 00000000000..ee6c377e56e --- /dev/null +++ b/cluster/saltbase/salt/docker/docker.service @@ -0,0 +1,20 @@ +[Unit] +Description=Docker Application Container Engine +Documentation=http://docs.docker.com +After=network.target docker.socket +Requires=docker.socket + +[Service] +EnvironmentFile={{ environment_file }} +ExecStart=/usr/bin/docker -d -H fd:// "$DOCKER_OPTS" +MountFlags=slave +LimitNOFILE=1048576 +LimitNPROC=1048576 +LimitCORE=infinity +Restart=always +RestartSec=2s +StartLimitInterval=0 + +[Install] +WantedBy=multi-user.target + diff --git a/cluster/saltbase/salt/docker/init.sls b/cluster/saltbase/salt/docker/init.sls index e425f32e708..be9e0558380 100644 --- a/cluster/saltbase/salt/docker/init.sls +++ b/cluster/saltbase/salt/docker/init.sls @@ -1,4 +1,4 @@ -{% if grains['os_family'] == 'RedHat' %} +{% if pillar.get('is_systemd') %} {% set environment_file = '/etc/sysconfig/docker' %} {% else %} {% set environment_file = '/etc/default/docker' %} @@ -116,6 +116,36 @@ lxc-docker-{{ override_docker_ver }}: - file: /var/cache/docker-install/{{ override_deb }} {% endif %} # end override_docker_ver != '' +# Default docker systemd unit file doesn't use an EnvironmentFile; replace it with one that does. +{% if pillar.get('is_systemd') %} + +{{ pillar.get('systemd_system_path') }}/docker.service: + file.managed: + - source: salt://docker/docker.service + - template: jinja + - user: root + - group: root + - mode: 644 + - defaults: + environment_file: {{ environment_file }} + +# The docker service.running block below doesn't work reliably +# Instead we run our script which e.g. does a systemd daemon-reload +# But we keep the service block below, so it can be used by dependencies +# TODO: Fix this +fix-service-docker: + cmd.wait: + - name: /opt/kubernetes/helpers/services bounce docker + - watch: + - file: {{ pillar.get('systemd_system_path') }}/docker.service + - file: {{ environment_file }} +{% if override_docker_ver != '' %} + - require: + - pkg: lxc-docker-{{ override_docker_ver }} +{% endif %} + +{% endif %} + docker: service.running: # Starting Docker is racy on aws for some reason. To be honest, since Monit diff --git a/cluster/saltbase/salt/etcd/init.sls b/cluster/saltbase/salt/etcd/init.sls index 45310cfe60d..ca828bca94b 100644 --- a/cluster/saltbase/salt/etcd/init.sls +++ b/cluster/saltbase/salt/etcd/init.sls @@ -24,9 +24,11 @@ delete_etcd_default: file.absent: - name: /etc/default/etcd +{% if pillar.get('is_systemd') %} delete_etcd_service_file: file.absent: - - name: /usr/lib/systemd/system/etcd.service + - name: {{ pillar.get('systemd_system_path') }}/etcd.service +{% endif %} delete_etcd_initd: file.absent: diff --git a/cluster/saltbase/salt/kube-addons/init.sls b/cluster/saltbase/salt/kube-addons/init.sls index c5a7b31831c..46cba18b029 100644 --- a/cluster/saltbase/salt/kube-addons/init.sls +++ b/cluster/saltbase/salt/kube-addons/init.sls @@ -119,13 +119,17 @@ addon-dir-create: - group: root - mode: 755 -{% if grains['os_family'] == 'RedHat' %} +{% if pillar.get('is_systemd') %} -/usr/lib/systemd/system/kube-addons.service: +{{ pillar.get('systemd_system_path') }}/kube-addons.service: file.managed: - source: salt://kube-addons/kube-addons.service - user: root - group: root + cmd.wait: + - name: /opt/kubernetes/helpers/services bounce kube-addons + - watch: + - file: {{ pillar.get('systemd_system_path') }}/kube-addons.service {% else %} @@ -136,8 +140,6 @@ addon-dir-create: - group: root - mode: 755 -{% endif %} - # Stop kube-addons service each time salt is executed, just in case # there was a modification of addons. # Actually, this should be handled by watching file changes, but @@ -151,3 +153,5 @@ kube-addons: - enable: True - require: - service: service-kube-addon-stop + +{% endif %} diff --git a/cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest b/cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest index b8d7db0f92e..34d91da223b 100644 --- a/cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest +++ b/cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest @@ -1,5 +1,5 @@ {% set daemon_args = "$DAEMON_ARGS" -%} -{% if grains['os_family'] == 'RedHat' -%} +{% if pillar.get('is_systemd') -%} {% set daemon_args = "" -%} {% endif -%} diff --git a/cluster/saltbase/salt/kube-master-addons/init.sls b/cluster/saltbase/salt/kube-master-addons/init.sls index 91186052205..572ce3c1ce3 100644 --- a/cluster/saltbase/salt/kube-master-addons/init.sls +++ b/cluster/saltbase/salt/kube-master-addons/init.sls @@ -5,25 +5,6 @@ - group: root - mode: 755 -{% if grains['os_family'] == 'RedHat' %} - -/usr/lib/systemd/system/kube-master-addons.service: - file.managed: - - source: salt://kube-master-addons/kube-master-addons.service - - user: root - - group: root - -{% else %} - -/etc/init.d/kube-master-addons: - file.managed: - - source: salt://kube-master-addons/initd - - user: root - - group: root - - mode: 755 - -{% endif %} - # Used to restart kube-master-addons service each time salt is run # Actually, it doens't work (the service is not restarted), # but master-addon service always terminates after it does it job, @@ -37,6 +18,42 @@ master-docker-image-tags: file.touch: - name: /srv/pillar/docker-images.sls +{% if pillar.get('is_systemd') %} + +{{ pillar.get('systemd_system_path') }}/kube-master-addons.service: + file.managed: + - source: salt://kube-master-addons/kube-master-addons.service + - user: root + - group: root + cmd.wait: + - name: /opt/kubernetes/helpers/services bounce kube-master-addons + - watch: + - file: master-docker-image-tags + - file: /etc/kubernetes/kube-master-addons.sh + - file: {{ pillar.get('systemd_system_path') }}/kube-master-addons.service + +{% else %} + +/etc/init.d/kube-master-addons: + file.managed: + - source: salt://kube-master-addons/initd + - user: root + - group: root + - mode: 755 + +# Current containervm image by default has both docker and kubelet +# running. But during cluster creation stage, docker and kubelet +# could be overwritten completely, or restarted due to flag changes. +# The ordering of salt states for service docker, kubelet and +# master-addon below is very important to avoid the race between +# salt restart docker or kubelet and kubelet start master components. +# Without the ordering of salt states, when gce instance boot up, +# configure-vm.sh will run and download the release. At the end of +# boot, run-salt will run kube-master-addons service which installs +# master component manifest files to kubelet config directory before +# the installation of proper version kubelet. Please see +# https://github.com/GoogleCloudPlatform/kubernetes/issues/10122#issuecomment-114566063 +# for detail explanation on this very issue. kube-master-addons: service.running: - enable: True @@ -44,3 +61,5 @@ kube-master-addons: - watch: - file: master-docker-image-tags - file: /etc/kubernetes/kube-master-addons.sh + +{% endif %} diff --git a/cluster/saltbase/salt/kube-proxy/default b/cluster/saltbase/salt/kube-proxy/default index 84d9b7232e3..7d7a9470c37 100644 --- a/cluster/saltbase/salt/kube-proxy/default +++ b/cluster/saltbase/salt/kube-proxy/default @@ -1,5 +1,5 @@ {% set daemon_args = "$DAEMON_ARGS" -%} -{% if grains['os_family'] == 'RedHat' -%} +{% if pillar.get('is_systemd') -%} {% set daemon_args = "" -%} {% endif -%} {# TODO(azure-maintainer): add support for distributing kubeconfig with token to kube-proxy #} diff --git a/cluster/saltbase/salt/kube-proxy/init.sls b/cluster/saltbase/salt/kube-proxy/init.sls index 3d54452b2d2..7dabce92a2e 100644 --- a/cluster/saltbase/salt/kube-proxy/init.sls +++ b/cluster/saltbase/salt/kube-proxy/init.sls @@ -1,4 +1,4 @@ -{% if grains['os_family'] == 'RedHat' %} +{% if pillar.get('is_systemd') %} {% set environment_file = '/etc/sysconfig/kube-proxy' %} {% else %} {% set environment_file = '/etc/default/kube-proxy' %} @@ -11,25 +11,6 @@ - group: root - mode: 755 -{% if grains['os_family'] == 'RedHat' %} - -/usr/lib/systemd/system/kube-proxy.service: - file.managed: - - source: salt://kube-proxy/kube-proxy.service - - user: root - - group: root - -{% else %} - -/etc/init.d/kube-proxy: - file.managed: - - source: salt://kube-proxy/initd - - user: root - - group: root - - mode: 755 - -{% endif %} - {{ environment_file }}: file.managed: - source: salt://kube-proxy/default @@ -48,15 +29,41 @@ kube-proxy: - home: /var/kube-proxy - require: - group: kube-proxy + +{% if pillar.get('is_systemd') %} + +{{ pillar.get('systemd_system_path') }}/kube-proxy.service: + file.managed: + - source: salt://kube-proxy/kube-proxy.service + - user: root + - group: root + cmd.wait: + - name: /opt/kubernetes/helpers/services bounce kube-proxy + - watch: + - file: {{ environment_file }} + - file: {{ pillar.get('systemd_system_path') }}/kube-proxy.service + - file: /var/lib/kube-proxy/kubeconfig + +{% else %} + +/etc/init.d/kube-proxy: + file.managed: + - source: salt://kube-proxy/initd + - user: root + - group: root + - mode: 755 + +kube-proxy-service: service.running: + - name: kube-proxy - enable: True - watch: - file: {{ environment_file }} -{% if grains['os_family'] != 'RedHat' %} - file: /etc/init.d/kube-proxy -{% endif %} - file: /var/lib/kube-proxy/kubeconfig +{% endif %} + /var/lib/kube-proxy/kubeconfig: file.managed: - source: salt://kube-proxy/kubeconfig diff --git a/cluster/saltbase/salt/kubelet/default b/cluster/saltbase/salt/kubelet/default index 40c3d2b9893..7ae38e1284a 100644 --- a/cluster/saltbase/salt/kubelet/default +++ b/cluster/saltbase/salt/kubelet/default @@ -1,5 +1,5 @@ {% set daemon_args = "$DAEMON_ARGS" -%} -{% if grains['os_family'] == 'RedHat' -%} +{% if pillar.get('is_systemd') -%} {% set daemon_args = "" -%} {% endif -%} diff --git a/cluster/saltbase/salt/kubelet/init.sls b/cluster/saltbase/salt/kubelet/init.sls index 8a8838a46a4..2dd0399a71d 100644 --- a/cluster/saltbase/salt/kubelet/init.sls +++ b/cluster/saltbase/salt/kubelet/init.sls @@ -1,4 +1,4 @@ -{% if grains['os_family'] == 'RedHat' %} +{% if pillar.get('is_systemd') %} {% set environment_file = '/etc/sysconfig/kubelet' %} {% else %} {% set environment_file = '/etc/default/kubelet' %} @@ -19,25 +19,6 @@ - group: root - mode: 755 -{% if grains['os_family'] == 'RedHat' %} - -/usr/lib/systemd/system/kubelet.service: - file.managed: - - source: salt://kubelet/kubelet.service - - user: root - - group: root - -{% else %} - -/etc/init.d/kubelet: - file.managed: - - source: salt://kubelet/initd - - user: root - - group: root - - mode: 755 - -{% endif %} - # The default here is that this file is blank. If this is the case, the kubelet # won't be able to parse it as JSON and will try to use the kubernetes_auth file # instead. You'll see a single error line in the kubelet start up file @@ -64,12 +45,46 @@ - mode: 400 - makedirs: true +{% if pillar.get('is_systemd') %} + +{{ pillar.get('systemd_system_path') }}/kubelet.service: + file.managed: + - source: salt://kubelet/kubelet.service + - user: root + - group: root + +# The service.running block below doesn't work reliably +# Instead we run our script which e.g. does a systemd daemon-reload +# But we keep the service block below, so it can be used by dependencies +# TODO: Fix this +fix-service-kubelet: + cmd.wait: + - name: /opt/kubernetes/helpers/services bounce kubelet + - watch: + - file: /usr/local/bin/kubelet + - file: {{ pillar.get('systemd_system_path') }}/kubelet.service + - file: {{ environment_file }} + - file: /var/lib/kubelet/kubernetes_auth + +{% else %} + +/etc/init.d/kubelet: + file.managed: + - source: salt://kubelet/initd + - user: root + - group: root + - mode: 755 + +{% endif %} + kubelet: service.running: - enable: True - watch: - file: /usr/local/bin/kubelet -{% if grains['os_family'] != 'RedHat' %} +{% if pillar.get('is_systemd') %} + - file: {{ pillar.get('systemd_system_path') }}/kubelet.service +{% else %} - file: /etc/init.d/kubelet {% endif %} {% if grains['os_family'] == 'RedHat' %} diff --git a/cluster/saltbase/salt/monit/init.sls b/cluster/saltbase/salt/monit/init.sls index 9a189e4e8da..97a35ca3b08 100644 --- a/cluster/saltbase/salt/monit/init.sls +++ b/cluster/saltbase/salt/monit/init.sls @@ -1,4 +1,4 @@ -{% if grains['os_family'] != 'RedHat' %} +{% if not pillar.get('is_systemd') %} monit: pkg: diff --git a/cluster/saltbase/salt/salt-helpers/init.sls b/cluster/saltbase/salt/salt-helpers/init.sls new file mode 100644 index 00000000000..5298e4f63a3 --- /dev/null +++ b/cluster/saltbase/salt/salt-helpers/init.sls @@ -0,0 +1,15 @@ +{% if pillar.get('is_systemd') %} +/opt/kubernetes/helpers: + file.directory: + - user: root + - group: root + - makedirs: True + - dir_mode: 755 + +/opt/kubernetes/helpers/services: + file.managed: + - source: salt://salt-helpers/services + - user: root + - group: root + - mode: 755 +{% endif %} diff --git a/cluster/saltbase/salt/salt-helpers/services b/cluster/saltbase/salt/salt-helpers/services new file mode 100644 index 00000000000..c1ff8a07791 --- /dev/null +++ b/cluster/saltbase/salt/salt-helpers/services @@ -0,0 +1,67 @@ +#!/bin/bash + +# Copyright 2015 The Kubernetes Authors All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -e + +ACTION=${1} +SERVICE=${2} + +if [[ -z "${ACTION}" || -z "${SERVICE}" ]]; then + echo "Syntax: ${0} " + exit 1 +fi + + +function reload_state() { + systemctl daemon-reload +} + +function start_service() { + systemctl start ${SERVICE} +} + +function stop_service() { + systemctl stop ${SERVICE} +} + +function enable_service() { + systemctl enable ${SERVICE} +} + +function disable_service() { + systemctl disable ${SERVICE} +} + +function restart_service() { + systemctl restart ${SERVICE} +} + +if [[ "${ACTION}" == "up" ]]; then + reload_state + enable_service + start_service +elif [[ "${ACTION}" == "bounce" ]]; then + reload_state + enable_service + restart_service +elif [[ "${ACTION}" == "down" ]]; then + reload_state + disable_service + stop_service +else + echo "Unknown action: ${ACTION}" + exit 1 +fi diff --git a/cluster/saltbase/salt/top.sls b/cluster/saltbase/salt/top.sls index 30c42dd4538..de1e711d905 100644 --- a/cluster/saltbase/salt/top.sls +++ b/cluster/saltbase/salt/top.sls @@ -2,6 +2,7 @@ base: '*': - base - debian-auto-upgrades + - salt-helpers 'roles:kubernetes-pool': - match: grain From a5fa0b8bb5580840ec957423c1bb670cb9eb755d Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Wed, 1 Jul 2015 06:38:14 -0400 Subject: [PATCH 07/16] Set standard bash options in services helper script --- cluster/saltbase/salt/salt-helpers/services | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cluster/saltbase/salt/salt-helpers/services b/cluster/saltbase/salt/salt-helpers/services index c1ff8a07791..f55b9b39c77 100644 --- a/cluster/saltbase/salt/salt-helpers/services +++ b/cluster/saltbase/salt/salt-helpers/services @@ -14,7 +14,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -set -e +set -o errexit +set -o nounset +set -o pipefail ACTION=${1} SERVICE=${2} From aff1ffc3198e35a9f4c9de5fe71f8fa785f86f73 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Wed, 1 Jul 2015 06:47:55 -0400 Subject: [PATCH 08/16] Salt: Add more dependencies to systemd services This may help Salt reload services correctly, although we still need the script until Salt's bug with reloading services on systemd is resolved. Salt bug: https://github.com/saltstack/salt/issues/16778 --- cluster/saltbase/salt/docker/init.sls | 3 +++ cluster/saltbase/salt/kube-addons/init.sls | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cluster/saltbase/salt/docker/init.sls b/cluster/saltbase/salt/docker/init.sls index be9e0558380..905c8deae79 100644 --- a/cluster/saltbase/salt/docker/init.sls +++ b/cluster/saltbase/salt/docker/init.sls @@ -159,6 +159,9 @@ docker: {% endif %} - watch: - file: {{ environment_file }} +{% if pillar.get('is_systemd') %} + - file: {{ pillar.get('systemd_system_path') }}/docker.service +{% endif %} {% if override_docker_ver != '' %} - require: - pkg: lxc-docker-{{ override_docker_ver }} diff --git a/cluster/saltbase/salt/kube-addons/init.sls b/cluster/saltbase/salt/kube-addons/init.sls index 46cba18b029..40205ef87f1 100644 --- a/cluster/saltbase/salt/kube-addons/init.sls +++ b/cluster/saltbase/salt/kube-addons/init.sls @@ -140,6 +140,8 @@ addon-dir-create: - group: root - mode: 755 +{% endif %} + # Stop kube-addons service each time salt is executed, just in case # there was a modification of addons. # Actually, this should be handled by watching file changes, but @@ -153,5 +155,8 @@ kube-addons: - enable: True - require: - service: service-kube-addon-stop - + - watch: +{% if pillar.get('is_systemd') %} + - file: {{ pillar.get('systemd_system_path') }}/kube-addons.service {% endif %} + From efce770fbb894c23c83b5cc059a36e2728555f5c Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Fri, 3 Jul 2015 10:24:32 -0400 Subject: [PATCH 09/16] Salt: clean daemon_args on RedHat, not systemd I don't think it actually makes a difference based on how we're using it, but this is now more of a precise change. --- cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest | 2 +- cluster/saltbase/salt/kube-proxy/default | 2 +- cluster/saltbase/salt/kubelet/default | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest b/cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest index 34d91da223b..b8d7db0f92e 100644 --- a/cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest +++ b/cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest @@ -1,5 +1,5 @@ {% set daemon_args = "$DAEMON_ARGS" -%} -{% if pillar.get('is_systemd') -%} +{% if grains['os_family'] == 'RedHat' -%} {% set daemon_args = "" -%} {% endif -%} diff --git a/cluster/saltbase/salt/kube-proxy/default b/cluster/saltbase/salt/kube-proxy/default index 7d7a9470c37..84d9b7232e3 100644 --- a/cluster/saltbase/salt/kube-proxy/default +++ b/cluster/saltbase/salt/kube-proxy/default @@ -1,5 +1,5 @@ {% set daemon_args = "$DAEMON_ARGS" -%} -{% if pillar.get('is_systemd') -%} +{% if grains['os_family'] == 'RedHat' -%} {% set daemon_args = "" -%} {% endif -%} {# TODO(azure-maintainer): add support for distributing kubeconfig with token to kube-proxy #} diff --git a/cluster/saltbase/salt/kubelet/default b/cluster/saltbase/salt/kubelet/default index 7ae38e1284a..40c3d2b9893 100644 --- a/cluster/saltbase/salt/kubelet/default +++ b/cluster/saltbase/salt/kubelet/default @@ -1,5 +1,5 @@ {% set daemon_args = "$DAEMON_ARGS" -%} -{% if pillar.get('is_systemd') -%} +{% if grains['os_family'] == 'RedHat' -%} {% set daemon_args = "" -%} {% endif -%} From 191528b782c918c6ec6ba5aebeb1f574d478444f Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Fri, 3 Jul 2015 10:26:21 -0400 Subject: [PATCH 10/16] Salt: Add service block for kube-proxy for systemd We have the workaround for Salt's problems here, but we should still express our intent. --- cluster/saltbase/salt/kube-proxy/init.sls | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cluster/saltbase/salt/kube-proxy/init.sls b/cluster/saltbase/salt/kube-proxy/init.sls index 7dabce92a2e..3761b5bbce5 100644 --- a/cluster/saltbase/salt/kube-proxy/init.sls +++ b/cluster/saltbase/salt/kube-proxy/init.sls @@ -53,16 +53,20 @@ kube-proxy: - group: root - mode: 755 +{% endif %} + kube-proxy-service: service.running: - name: kube-proxy - enable: True - watch: - file: {{ environment_file }} +{% if pillar.get('is_systemd') %} + - file: {{ pillar.get('systemd_system_path') }}/kube-proxy.service +{% else %} - file: /etc/init.d/kube-proxy - - file: /var/lib/kube-proxy/kubeconfig - {% endif %} + - file: /var/lib/kube-proxy/kubeconfig /var/lib/kube-proxy/kubeconfig: file.managed: From cee489d499236cb72327d634f22c3fa7c15be0e0 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Fri, 3 Jul 2015 12:41:59 -0400 Subject: [PATCH 11/16] Salt: have kube-addons service depend on init file For symmetry with systemd --- cluster/saltbase/salt/kube-addons/init.sls | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cluster/saltbase/salt/kube-addons/init.sls b/cluster/saltbase/salt/kube-addons/init.sls index 40205ef87f1..ceac24e703f 100644 --- a/cluster/saltbase/salt/kube-addons/init.sls +++ b/cluster/saltbase/salt/kube-addons/init.sls @@ -158,5 +158,6 @@ kube-addons: - watch: {% if pillar.get('is_systemd') %} - file: {{ pillar.get('systemd_system_path') }}/kube-addons.service -{% endif %} - +{% else %} + - file: /etc/init.d/kube-addons +{% endif %} \ No newline at end of file From d306738bec2a8d79e23936797f2c5b2f76104f8f Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Fri, 3 Jul 2015 12:43:36 -0400 Subject: [PATCH 12/16] Salt: re-remove comment block It had been removed in upstream, but had been kept by mistake here. --- cluster/saltbase/salt/kube-master-addons/init.sls | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/cluster/saltbase/salt/kube-master-addons/init.sls b/cluster/saltbase/salt/kube-master-addons/init.sls index 572ce3c1ce3..acade6d2440 100644 --- a/cluster/saltbase/salt/kube-master-addons/init.sls +++ b/cluster/saltbase/salt/kube-master-addons/init.sls @@ -41,19 +41,6 @@ master-docker-image-tags: - group: root - mode: 755 -# Current containervm image by default has both docker and kubelet -# running. But during cluster creation stage, docker and kubelet -# could be overwritten completely, or restarted due to flag changes. -# The ordering of salt states for service docker, kubelet and -# master-addon below is very important to avoid the race between -# salt restart docker or kubelet and kubelet start master components. -# Without the ordering of salt states, when gce instance boot up, -# configure-vm.sh will run and download the release. At the end of -# boot, run-salt will run kube-master-addons service which installs -# master component manifest files to kubelet config directory before -# the installation of proper version kubelet. Please see -# https://github.com/GoogleCloudPlatform/kubernetes/issues/10122#issuecomment-114566063 -# for detail explanation on this very issue. kube-master-addons: service.running: - enable: True From aa618a97f41b71722305906e86372b8f60e5a254 Mon Sep 17 00:00:00 2001 From: Zach Loafman Date: Wed, 8 Jul 2015 18:52:50 -0700 Subject: [PATCH 13/16] Versioning docs and examples for 0.21.1 --- api/swagger-spec/v1.json | 104 +++++++++++++++++----------------- api/swagger-spec/v1beta3.json | 104 +++++++++++++++++----------------- 2 files changed, 104 insertions(+), 104 deletions(-) diff --git a/api/swagger-spec/v1.json b/api/swagger-spec/v1.json index 2dc99f1325b..607c585c926 100644 --- a/api/swagger-spec/v1.json +++ b/api/swagger-spec/v1.json @@ -11041,7 +11041,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "target": { "$ref": "v1.ObjectReference", @@ -11074,7 +11074,7 @@ }, "resourceVersion": { "type": "string", - "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" + "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/v0.21.0/docs/api-conventions.md#concurrency-control-and-consistency" }, "generation": { "type": "integer", @@ -11124,7 +11124,7 @@ }, "resourceVersion": { "type": "string", - "description": "specific resourceVersion to which this reference is made, if any: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" + "description": "specific resourceVersion to which this reference is made, if any: http://releases.k8s.io/v0.21.0/docs/api-conventions.md#concurrency-control-and-consistency" }, "fieldPath": { "type": "string", @@ -11148,7 +11148,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11168,7 +11168,7 @@ }, "resourceVersion": { "type": "string", - "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" + "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/v0.21.0/docs/api-conventions.md#concurrency-control-and-consistency" } } }, @@ -11185,7 +11185,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "conditions": { "type": "array", @@ -11237,7 +11237,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11264,7 +11264,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "subsets": { "type": "array", @@ -11361,7 +11361,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "status": { "type": "string", @@ -11465,7 +11465,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11493,7 +11493,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "involvedObject": { "$ref": "v1.ObjectReference", @@ -11555,7 +11555,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11579,11 +11579,11 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.LimitRangeSpec", - "description": "spec defines the limits enforced; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "spec defines the limits enforced; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -11639,7 +11639,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11663,15 +11663,15 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.NamespaceSpec", - "description": "spec defines the behavior of the Namespace; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "spec defines the behavior of the Namespace; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.NamespaceStatus", - "description": "status describes the current status of a Namespace; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "status describes the current status of a Namespace; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -11716,7 +11716,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11740,15 +11740,15 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.NodeSpec", - "description": "specification of a node; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "specification of a node; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.NodeStatus", - "description": "most recently observed status of the node; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the node; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -11778,7 +11778,7 @@ "properties": { "capacity": { "type": "any", - "description": "compute resource capacity of the node; http://releases.k8s.io/HEAD/docs/resources.md" + "description": "compute resource capacity of the node; http://releases.k8s.io/v0.21.0/docs/resources.md" }, "phase": { "type": "string", @@ -11914,7 +11914,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#types-kinds" }, "items": { "type": "array", @@ -11938,7 +11938,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.PersistentVolumeClaimSpec", @@ -12020,7 +12020,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#types-kinds" }, "items": { "type": "array", @@ -12044,7 +12044,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.PersistentVolumeSpec", @@ -12336,7 +12336,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#types-kinds" }, "items": { "type": "array", @@ -12360,15 +12360,15 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.PodSpec", - "description": "specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the pod; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.PodStatus", - "description": "most recently observed status of the pod; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the pod; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -13091,7 +13091,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13115,11 +13115,11 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "template": { "$ref": "v1.PodTemplateSpec", - "description": "the template of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "the template of the desired behavior of the pod; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -13128,11 +13128,11 @@ "properties": { "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.PodSpec", - "description": "specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the pod; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -13152,7 +13152,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13176,15 +13176,15 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.ReplicationControllerSpec", - "description": "specification of the desired behavior of the replication controller; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the replication controller; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.ReplicationControllerStatus", - "description": "most recently observed status of the replication controller; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the replication controller; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -13240,7 +13240,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13264,15 +13264,15 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.ResourceQuotaSpec", - "description": "spec defines the desired quota; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "spec defines the desired quota; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.ResourceQuotaStatus", - "description": "status defines the actual enforced quota and current usage; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "status defines the actual enforced quota and current usage; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -13314,7 +13314,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13338,7 +13338,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "data": { "type": "any", @@ -13366,7 +13366,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13390,7 +13390,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "secrets": { "type": "array", @@ -13424,7 +13424,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13448,15 +13448,15 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.ServiceSpec", - "description": "specification of the desired behavior of the service; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the service; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.ServiceStatus", - "description": "most recently observed status of the service; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the service; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, diff --git a/api/swagger-spec/v1beta3.json b/api/swagger-spec/v1beta3.json index 248809fb31e..aa6da503fec 100644 --- a/api/swagger-spec/v1beta3.json +++ b/api/swagger-spec/v1beta3.json @@ -11041,7 +11041,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "target": { "$ref": "v1beta3.ObjectReference", @@ -11074,7 +11074,7 @@ }, "resourceVersion": { "type": "string", - "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" + "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/v0.21.0/docs/api-conventions.md#concurrency-control-and-consistency" }, "generation": { "type": "integer", @@ -11124,7 +11124,7 @@ }, "resourceVersion": { "type": "string", - "description": "specific resourceVersion to which this reference is made, if any: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" + "description": "specific resourceVersion to which this reference is made, if any: http://releases.k8s.io/v0.21.0/docs/api-conventions.md#concurrency-control-and-consistency" }, "fieldPath": { "type": "string", @@ -11148,7 +11148,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11168,7 +11168,7 @@ }, "resourceVersion": { "type": "string", - "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" + "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/v0.21.0/docs/api-conventions.md#concurrency-control-and-consistency" } } }, @@ -11185,7 +11185,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "conditions": { "type": "array", @@ -11237,7 +11237,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11264,7 +11264,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "subsets": { "type": "array", @@ -11361,7 +11361,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "status": { "type": "string", @@ -11462,7 +11462,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11490,7 +11490,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "involvedObject": { "$ref": "v1beta3.ObjectReference", @@ -11552,7 +11552,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11576,11 +11576,11 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.LimitRangeSpec", - "description": "spec defines the limits enforced; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "spec defines the limits enforced; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -11636,7 +11636,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11660,15 +11660,15 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.NamespaceSpec", - "description": "spec defines the behavior of the Namespace; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "spec defines the behavior of the Namespace; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1beta3.NamespaceStatus", - "description": "status describes the current status of a Namespace; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "status describes the current status of a Namespace; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -11713,7 +11713,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11737,15 +11737,15 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.NodeSpec", - "description": "specification of a node; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "specification of a node; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1beta3.NodeStatus", - "description": "most recently observed status of the node; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the node; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -11775,7 +11775,7 @@ "properties": { "capacity": { "type": "any", - "description": "compute resource capacity of the node; http://releases.k8s.io/HEAD/docs/resources.md" + "description": "compute resource capacity of the node; http://releases.k8s.io/v0.21.0/docs/resources.md" }, "phase": { "type": "string", @@ -11911,7 +11911,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#types-kinds" }, "items": { "type": "array", @@ -11935,7 +11935,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.PersistentVolumeClaimSpec", @@ -12017,7 +12017,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#types-kinds" }, "items": { "type": "array", @@ -12041,7 +12041,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.PersistentVolumeSpec", @@ -12333,7 +12333,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#types-kinds" }, "items": { "type": "array", @@ -12357,15 +12357,15 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.PodSpec", - "description": "specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the pod; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1beta3.PodStatus", - "description": "most recently observed status of the pod; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the pod; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -13093,7 +13093,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13117,11 +13117,11 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "template": { "$ref": "v1beta3.PodTemplateSpec", - "description": "the template of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "the template of the desired behavior of the pod; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -13130,11 +13130,11 @@ "properties": { "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.PodSpec", - "description": "specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the pod; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -13154,7 +13154,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13178,15 +13178,15 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.ReplicationControllerSpec", - "description": "specification of the desired behavior of the replication controller; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the replication controller; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1beta3.ReplicationControllerStatus", - "description": "most recently observed status of the replication controller; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the replication controller; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -13242,7 +13242,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13266,15 +13266,15 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.ResourceQuotaSpec", - "description": "spec defines the desired quota; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "spec defines the desired quota; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1beta3.ResourceQuotaStatus", - "description": "status defines the actual enforced quota and current usage; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "status defines the actual enforced quota and current usage; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, @@ -13316,7 +13316,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13340,7 +13340,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "data": { "type": "any", @@ -13368,7 +13368,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13392,7 +13392,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "secrets": { "type": "array", @@ -13426,7 +13426,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13450,15 +13450,15 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.ServiceSpec", - "description": "specification of the desired behavior of the service; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the service; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1beta3.ServiceStatus", - "description": "most recently observed status of the service; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the service; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" } } }, From 906122a279abbfa7f54e8dbf3ea06aac3bf89fac Mon Sep 17 00:00:00 2001 From: Zach Loafman Date: Wed, 8 Jul 2015 18:52:51 -0700 Subject: [PATCH 14/16] Kubernetes version v0.21.1 --- pkg/version/base.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/version/base.go b/pkg/version/base.go index 1e29f629491..eead5f75f9d 100644 --- a/pkg/version/base.go +++ b/pkg/version/base.go @@ -36,8 +36,8 @@ package version var ( // TODO: Deprecate gitMajor and gitMinor, use only gitVersion instead. gitMajor string = "0" // major version, always numeric - gitMinor string = "21.0+" // minor version, numeric possibly followed by "+" - gitVersion string = "v0.21.0-dev" // version from git, output of $(git describe) + gitMinor string = "21.1" // minor version, numeric possibly followed by "+" + gitVersion string = "v0.21.1" // version from git, output of $(git describe) gitCommit string = "" // sha1 from git, output of $(git rev-parse HEAD) gitTreeState string = "not a git tree" // state of git tree, either "clean" or "dirty" ) From 9d2691d48bc7e8f514ee6fa89819ccdd91946304 Mon Sep 17 00:00:00 2001 From: Zach Loafman Date: Wed, 8 Jul 2015 18:52:51 -0700 Subject: [PATCH 15/16] Kubernetes version v0.21.1-dev --- pkg/version/base.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/version/base.go b/pkg/version/base.go index eead5f75f9d..8d856d7e300 100644 --- a/pkg/version/base.go +++ b/pkg/version/base.go @@ -36,8 +36,8 @@ package version var ( // TODO: Deprecate gitMajor and gitMinor, use only gitVersion instead. gitMajor string = "0" // major version, always numeric - gitMinor string = "21.1" // minor version, numeric possibly followed by "+" - gitVersion string = "v0.21.1" // version from git, output of $(git describe) + gitMinor string = "21.1+" // minor version, numeric possibly followed by "+" + gitVersion string = "v0.21.1-dev" // version from git, output of $(git describe) gitCommit string = "" // sha1 from git, output of $(git rev-parse HEAD) gitTreeState string = "not a git tree" // state of git tree, either "clean" or "dirty" ) From 539e7c8a89a064ec59921c88754d3f899516fd75 Mon Sep 17 00:00:00 2001 From: Zach Loafman Date: Wed, 8 Jul 2015 18:52:51 -0700 Subject: [PATCH 16/16] Revert "Versioning docs and examples for 0.21.1" This reverts commit aa618a97f41b71722305906e86372b8f60e5a254. --- api/swagger-spec/v1.json | 104 +++++++++++++++++----------------- api/swagger-spec/v1beta3.json | 104 +++++++++++++++++----------------- 2 files changed, 104 insertions(+), 104 deletions(-) diff --git a/api/swagger-spec/v1.json b/api/swagger-spec/v1.json index 607c585c926..2dc99f1325b 100644 --- a/api/swagger-spec/v1.json +++ b/api/swagger-spec/v1.json @@ -11041,7 +11041,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "target": { "$ref": "v1.ObjectReference", @@ -11074,7 +11074,7 @@ }, "resourceVersion": { "type": "string", - "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/v0.21.0/docs/api-conventions.md#concurrency-control-and-consistency" + "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" }, "generation": { "type": "integer", @@ -11124,7 +11124,7 @@ }, "resourceVersion": { "type": "string", - "description": "specific resourceVersion to which this reference is made, if any: http://releases.k8s.io/v0.21.0/docs/api-conventions.md#concurrency-control-and-consistency" + "description": "specific resourceVersion to which this reference is made, if any: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" }, "fieldPath": { "type": "string", @@ -11148,7 +11148,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11168,7 +11168,7 @@ }, "resourceVersion": { "type": "string", - "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/v0.21.0/docs/api-conventions.md#concurrency-control-and-consistency" + "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" } } }, @@ -11185,7 +11185,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "conditions": { "type": "array", @@ -11237,7 +11237,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11264,7 +11264,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "subsets": { "type": "array", @@ -11361,7 +11361,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "status": { "type": "string", @@ -11465,7 +11465,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11493,7 +11493,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "involvedObject": { "$ref": "v1.ObjectReference", @@ -11555,7 +11555,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11579,11 +11579,11 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.LimitRangeSpec", - "description": "spec defines the limits enforced; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "spec defines the limits enforced; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -11639,7 +11639,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11663,15 +11663,15 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.NamespaceSpec", - "description": "spec defines the behavior of the Namespace; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "spec defines the behavior of the Namespace; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.NamespaceStatus", - "description": "status describes the current status of a Namespace; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "status describes the current status of a Namespace; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -11716,7 +11716,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11740,15 +11740,15 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.NodeSpec", - "description": "specification of a node; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "specification of a node; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.NodeStatus", - "description": "most recently observed status of the node; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the node; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -11778,7 +11778,7 @@ "properties": { "capacity": { "type": "any", - "description": "compute resource capacity of the node; http://releases.k8s.io/v0.21.0/docs/resources.md" + "description": "compute resource capacity of the node; http://releases.k8s.io/HEAD/docs/resources.md" }, "phase": { "type": "string", @@ -11914,7 +11914,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#types-kinds" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" }, "items": { "type": "array", @@ -11938,7 +11938,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.PersistentVolumeClaimSpec", @@ -12020,7 +12020,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#types-kinds" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" }, "items": { "type": "array", @@ -12044,7 +12044,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.PersistentVolumeSpec", @@ -12336,7 +12336,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#types-kinds" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" }, "items": { "type": "array", @@ -12360,15 +12360,15 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.PodSpec", - "description": "specification of the desired behavior of the pod; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.PodStatus", - "description": "most recently observed status of the pod; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the pod; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -13091,7 +13091,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13115,11 +13115,11 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "template": { "$ref": "v1.PodTemplateSpec", - "description": "the template of the desired behavior of the pod; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "the template of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -13128,11 +13128,11 @@ "properties": { "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.PodSpec", - "description": "specification of the desired behavior of the pod; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -13152,7 +13152,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13176,15 +13176,15 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.ReplicationControllerSpec", - "description": "specification of the desired behavior of the replication controller; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the replication controller; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.ReplicationControllerStatus", - "description": "most recently observed status of the replication controller; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the replication controller; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -13240,7 +13240,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13264,15 +13264,15 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.ResourceQuotaSpec", - "description": "spec defines the desired quota; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "spec defines the desired quota; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.ResourceQuotaStatus", - "description": "status defines the actual enforced quota and current usage; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "status defines the actual enforced quota and current usage; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -13314,7 +13314,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13338,7 +13338,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "data": { "type": "any", @@ -13366,7 +13366,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13390,7 +13390,7 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "secrets": { "type": "array", @@ -13424,7 +13424,7 @@ }, "metadata": { "$ref": "v1.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13448,15 +13448,15 @@ }, "metadata": { "$ref": "v1.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1.ServiceSpec", - "description": "specification of the desired behavior of the service; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the service; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1.ServiceStatus", - "description": "most recently observed status of the service; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the service; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, diff --git a/api/swagger-spec/v1beta3.json b/api/swagger-spec/v1beta3.json index aa6da503fec..248809fb31e 100644 --- a/api/swagger-spec/v1beta3.json +++ b/api/swagger-spec/v1beta3.json @@ -11041,7 +11041,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "target": { "$ref": "v1beta3.ObjectReference", @@ -11074,7 +11074,7 @@ }, "resourceVersion": { "type": "string", - "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/v0.21.0/docs/api-conventions.md#concurrency-control-and-consistency" + "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" }, "generation": { "type": "integer", @@ -11124,7 +11124,7 @@ }, "resourceVersion": { "type": "string", - "description": "specific resourceVersion to which this reference is made, if any: http://releases.k8s.io/v0.21.0/docs/api-conventions.md#concurrency-control-and-consistency" + "description": "specific resourceVersion to which this reference is made, if any: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" }, "fieldPath": { "type": "string", @@ -11148,7 +11148,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11168,7 +11168,7 @@ }, "resourceVersion": { "type": "string", - "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/v0.21.0/docs/api-conventions.md#concurrency-control-and-consistency" + "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" } } }, @@ -11185,7 +11185,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "conditions": { "type": "array", @@ -11237,7 +11237,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11264,7 +11264,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "subsets": { "type": "array", @@ -11361,7 +11361,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "status": { "type": "string", @@ -11462,7 +11462,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11490,7 +11490,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "involvedObject": { "$ref": "v1beta3.ObjectReference", @@ -11552,7 +11552,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11576,11 +11576,11 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.LimitRangeSpec", - "description": "spec defines the limits enforced; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "spec defines the limits enforced; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -11636,7 +11636,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11660,15 +11660,15 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.NamespaceSpec", - "description": "spec defines the behavior of the Namespace; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "spec defines the behavior of the Namespace; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1beta3.NamespaceStatus", - "description": "status describes the current status of a Namespace; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "status describes the current status of a Namespace; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -11713,7 +11713,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -11737,15 +11737,15 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.NodeSpec", - "description": "specification of a node; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "specification of a node; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1beta3.NodeStatus", - "description": "most recently observed status of the node; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the node; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -11775,7 +11775,7 @@ "properties": { "capacity": { "type": "any", - "description": "compute resource capacity of the node; http://releases.k8s.io/v0.21.0/docs/resources.md" + "description": "compute resource capacity of the node; http://releases.k8s.io/HEAD/docs/resources.md" }, "phase": { "type": "string", @@ -11911,7 +11911,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#types-kinds" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" }, "items": { "type": "array", @@ -11935,7 +11935,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.PersistentVolumeClaimSpec", @@ -12017,7 +12017,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#types-kinds" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" }, "items": { "type": "array", @@ -12041,7 +12041,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.PersistentVolumeSpec", @@ -12333,7 +12333,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#types-kinds" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" }, "items": { "type": "array", @@ -12357,15 +12357,15 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.PodSpec", - "description": "specification of the desired behavior of the pod; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1beta3.PodStatus", - "description": "most recently observed status of the pod; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the pod; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -13093,7 +13093,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13117,11 +13117,11 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "template": { "$ref": "v1beta3.PodTemplateSpec", - "description": "the template of the desired behavior of the pod; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "the template of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -13130,11 +13130,11 @@ "properties": { "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.PodSpec", - "description": "specification of the desired behavior of the pod; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -13154,7 +13154,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13178,15 +13178,15 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.ReplicationControllerSpec", - "description": "specification of the desired behavior of the replication controller; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the replication controller; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1beta3.ReplicationControllerStatus", - "description": "most recently observed status of the replication controller; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the replication controller; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -13242,7 +13242,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13266,15 +13266,15 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.ResourceQuotaSpec", - "description": "spec defines the desired quota; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "spec defines the desired quota; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1beta3.ResourceQuotaStatus", - "description": "status defines the actual enforced quota and current usage; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "status defines the actual enforced quota and current usage; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } }, @@ -13316,7 +13316,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13340,7 +13340,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "data": { "type": "any", @@ -13368,7 +13368,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13392,7 +13392,7 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "secrets": { "type": "array", @@ -13426,7 +13426,7 @@ }, "metadata": { "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "items": { "type": "array", @@ -13450,15 +13450,15 @@ }, "metadata": { "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/v0.21.0/docs/api-conventions.md#metadata" + "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" }, "spec": { "$ref": "v1beta3.ServiceSpec", - "description": "specification of the desired behavior of the service; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "specification of the desired behavior of the service; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" }, "status": { "$ref": "v1beta3.ServiceStatus", - "description": "most recently observed status of the service; populated by the system, read-only; http://releases.k8s.io/v0.21.0/docs/api-conventions.md#spec-and-status" + "description": "most recently observed status of the service; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" } } },