mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-26 05:03:09 +00:00
Merge pull request #85903 from liggitt/disable-deprecated-apis
Remove ability to re-enable serving deprecated APIs
This commit is contained in:
commit
6a919f2b54
19862
api/openapi-spec/swagger.json
generated
19862
api/openapi-spec/swagger.json
generated
File diff suppressed because it is too large
Load Diff
@ -8,6 +8,6 @@ rules:
|
|||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
resources: ["nodes"]
|
resources: ["nodes"]
|
||||||
verbs: ["list"]
|
verbs: ["list"]
|
||||||
- apiGroups: ["apps", "extensions"]
|
- apiGroups: ["apps"]
|
||||||
resources: ["deployments", "daemonsets"]
|
resources: ["deployments", "daemonsets"]
|
||||||
verbs: ["patch"]
|
verbs: ["patch"]
|
||||||
|
@ -9,6 +9,6 @@ rules:
|
|||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
resources: ["configmaps"]
|
resources: ["configmaps"]
|
||||||
verbs: ["get"]
|
verbs: ["get"]
|
||||||
- apiGroups: ["apps", "extensions"]
|
- apiGroups: ["apps"]
|
||||||
resources: ["deployments/scale"]
|
resources: ["deployments/scale"]
|
||||||
verbs: ["get", "update"]
|
verbs: ["get", "update"]
|
||||||
|
@ -8,6 +8,6 @@ rules:
|
|||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
resources: ["nodes"]
|
resources: ["nodes"]
|
||||||
verbs: ["list"]
|
verbs: ["list"]
|
||||||
- apiGroups: ["apps", "extensions"]
|
- apiGroups: ["apps"]
|
||||||
resources: ["deployments"]
|
resources: ["deployments"]
|
||||||
verbs: ["patch"]
|
verbs: ["patch"]
|
||||||
|
@ -33,7 +33,7 @@ rules:
|
|||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
resources: ["replicationcontrollers/scale"]
|
resources: ["replicationcontrollers/scale"]
|
||||||
verbs: ["get", "update"]
|
verbs: ["get", "update"]
|
||||||
- apiGroups: ["extensions","apps"]
|
- apiGroups: ["apps"]
|
||||||
resources: ["deployments/scale", "replicasets/scale"]
|
resources: ["deployments/scale", "replicasets/scale"]
|
||||||
verbs: ["get", "update"]
|
verbs: ["get", "update"]
|
||||||
# Remove the configmaps rule once below issue is fixed:
|
# Remove the configmaps rule once below issue is fixed:
|
||||||
|
@ -17,7 +17,7 @@ metadata:
|
|||||||
addonmanager.kubernetes.io/mode: Reconcile
|
addonmanager.kubernetes.io/mode: Reconcile
|
||||||
rules:
|
rules:
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- "extensions"
|
- "apps"
|
||||||
resources:
|
resources:
|
||||||
- daemonsets
|
- daemonsets
|
||||||
verbs:
|
verbs:
|
||||||
|
@ -35,7 +35,7 @@ rules:
|
|||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
resources: ["services", "replicationcontrollers", "persistentvolumes", "persistentvolumeclaims"]
|
resources: ["services", "replicationcontrollers", "persistentvolumes", "persistentvolumeclaims"]
|
||||||
verbs: ["get", "list", "watch"]
|
verbs: ["get", "list", "watch"]
|
||||||
- apiGroups: ["apps", "extensions"]
|
- apiGroups: ["apps"]
|
||||||
resources: ["daemonsets", "replicasets"]
|
resources: ["daemonsets", "replicasets"]
|
||||||
verbs: ["get", "list", "watch"]
|
verbs: ["get", "list", "watch"]
|
||||||
- apiGroups: ["apps"]
|
- apiGroups: ["apps"]
|
||||||
|
@ -251,8 +251,6 @@ var apiVersionPriorities = map[schema.GroupVersion]priority{
|
|||||||
// can reasonably expect seems questionable.
|
// can reasonably expect seems questionable.
|
||||||
{Group: "extensions", Version: "v1beta1"}: {group: 17900, version: 1},
|
{Group: "extensions", Version: "v1beta1"}: {group: 17900, version: 1},
|
||||||
// to my knowledge, nothing below here collides
|
// to my knowledge, nothing below here collides
|
||||||
{Group: "apps", Version: "v1beta1"}: {group: 17800, version: 1},
|
|
||||||
{Group: "apps", Version: "v1beta2"}: {group: 17800, version: 9},
|
|
||||||
{Group: "apps", Version: "v1"}: {group: 17800, version: 15},
|
{Group: "apps", Version: "v1"}: {group: 17800, version: 15},
|
||||||
{Group: "events.k8s.io", Version: "v1beta1"}: {group: 17750, version: 5},
|
{Group: "events.k8s.io", Version: "v1beta1"}: {group: 17750, version: 5},
|
||||||
{Group: "authentication.k8s.io", Version: "v1"}: {group: 17700, version: 15},
|
{Group: "authentication.k8s.io", Version: "v1"}: {group: 17700, version: 15},
|
||||||
|
@ -172,7 +172,6 @@ pkg/registry/core/service/portallocator/controller
|
|||||||
pkg/registry/core/service/storage
|
pkg/registry/core/service/storage
|
||||||
pkg/registry/core/serviceaccount/storage
|
pkg/registry/core/serviceaccount/storage
|
||||||
pkg/registry/events/rest
|
pkg/registry/events/rest
|
||||||
pkg/registry/extensions/controller/storage
|
|
||||||
pkg/registry/extensions/rest
|
pkg/registry/extensions/rest
|
||||||
pkg/registry/flowcontrol/rest
|
pkg/registry/flowcontrol/rest
|
||||||
pkg/registry/networking/rest
|
pkg/registry/networking/rest
|
||||||
|
@ -31,7 +31,6 @@ pkg/registry/core/resourcequota/storage
|
|||||||
pkg/registry/core/service/ipallocator
|
pkg/registry/core/service/ipallocator
|
||||||
pkg/registry/core/service/portallocator
|
pkg/registry/core/service/portallocator
|
||||||
pkg/registry/core/service/storage
|
pkg/registry/core/service/storage
|
||||||
pkg/registry/extensions/controller/storage
|
|
||||||
pkg/util/coverage
|
pkg/util/coverage
|
||||||
pkg/util/ebtables
|
pkg/util/ebtables
|
||||||
pkg/util/ipconfig
|
pkg/util/ipconfig
|
||||||
|
@ -67,7 +67,7 @@ kube::log::status "Starting kube-apiserver"
|
|||||||
--etcd-servers="http://${ETCD_HOST}:${ETCD_PORT}" \
|
--etcd-servers="http://${ETCD_HOST}:${ETCD_PORT}" \
|
||||||
--advertise-address="10.10.10.10" \
|
--advertise-address="10.10.10.10" \
|
||||||
--cert-dir="${TMP_DIR}/certs" \
|
--cert-dir="${TMP_DIR}/certs" \
|
||||||
--runtime-config="api/all=true,extensions/v1beta1/daemonsets=true,extensions/v1beta1/deployments=true,extensions/v1beta1/replicasets=true,extensions/v1beta1/networkpolicies=true,extensions/v1beta1/podsecuritypolicies=true,extensions/v1beta1/replicationcontrollers=true" \
|
--runtime-config="api/all=true" \
|
||||||
--token-auth-file="${TMP_DIR}/tokenauth.csv" \
|
--token-auth-file="${TMP_DIR}/tokenauth.csv" \
|
||||||
--service-account-issuer="https://kubernetes.devault.svc/" \
|
--service-account-issuer="https://kubernetes.devault.svc/" \
|
||||||
--service-account-signing-key-file="${KUBE_ROOT}/staging/src/k8s.io/client-go/util/cert/testdata/dontUseThisKey.pem" \
|
--service-account-signing-key-file="${KUBE_ROOT}/staging/src/k8s.io/client-go/util/cert/testdata/dontUseThisKey.pem" \
|
||||||
|
@ -19,7 +19,6 @@ go_library(
|
|||||||
"//pkg/apis/autoscaling:go_default_library",
|
"//pkg/apis/autoscaling:go_default_library",
|
||||||
"//pkg/apis/networking:go_default_library",
|
"//pkg/apis/networking:go_default_library",
|
||||||
"//pkg/apis/policy:go_default_library",
|
"//pkg/apis/policy:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
],
|
],
|
||||||
|
@ -54,7 +54,6 @@ func addKnownTypes(scheme *runtime.Scheme) error {
|
|||||||
&apps.Deployment{},
|
&apps.Deployment{},
|
||||||
&apps.DeploymentList{},
|
&apps.DeploymentList{},
|
||||||
&apps.DeploymentRollback{},
|
&apps.DeploymentRollback{},
|
||||||
&ReplicationControllerDummy{},
|
|
||||||
&apps.DaemonSetList{},
|
&apps.DaemonSetList{},
|
||||||
&apps.DaemonSet{},
|
&apps.DaemonSet{},
|
||||||
&networking.Ingress{},
|
&networking.Ingress{},
|
||||||
|
@ -27,14 +27,3 @@ support is experimental.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
package extensions
|
package extensions
|
||||||
|
|
||||||
import (
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
||||||
)
|
|
||||||
|
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
|
||||||
|
|
||||||
// ReplicationControllerDummy : Dummy definition
|
|
||||||
type ReplicationControllerDummy struct {
|
|
||||||
metav1.TypeMeta
|
|
||||||
}
|
|
||||||
|
@ -22,7 +22,6 @@ go_library(
|
|||||||
"//pkg/apis/autoscaling:go_default_library",
|
"//pkg/apis/autoscaling:go_default_library",
|
||||||
"//pkg/apis/core:go_default_library",
|
"//pkg/apis/core:go_default_library",
|
||||||
"//pkg/apis/core/v1:go_default_library",
|
"//pkg/apis/core/v1:go_default_library",
|
||||||
"//pkg/apis/extensions:go_default_library",
|
|
||||||
"//pkg/apis/networking:go_default_library",
|
"//pkg/apis/networking:go_default_library",
|
||||||
"//pkg/apis/policy:go_default_library",
|
"//pkg/apis/policy:go_default_library",
|
||||||
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
||||||
|
@ -33,7 +33,6 @@ import (
|
|||||||
autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling"
|
autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling"
|
||||||
core "k8s.io/kubernetes/pkg/apis/core"
|
core "k8s.io/kubernetes/pkg/apis/core"
|
||||||
corev1 "k8s.io/kubernetes/pkg/apis/core/v1"
|
corev1 "k8s.io/kubernetes/pkg/apis/core/v1"
|
||||||
extensions "k8s.io/kubernetes/pkg/apis/extensions"
|
|
||||||
networking "k8s.io/kubernetes/pkg/apis/networking"
|
networking "k8s.io/kubernetes/pkg/apis/networking"
|
||||||
policy "k8s.io/kubernetes/pkg/apis/policy"
|
policy "k8s.io/kubernetes/pkg/apis/policy"
|
||||||
)
|
)
|
||||||
@ -385,16 +384,6 @@ func RegisterConversions(s *runtime.Scheme) error {
|
|||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := s.AddGeneratedConversionFunc((*v1beta1.ReplicationControllerDummy)(nil), (*extensions.ReplicationControllerDummy)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_v1beta1_ReplicationControllerDummy_To_extensions_ReplicationControllerDummy(a.(*v1beta1.ReplicationControllerDummy), b.(*extensions.ReplicationControllerDummy), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddGeneratedConversionFunc((*extensions.ReplicationControllerDummy)(nil), (*v1beta1.ReplicationControllerDummy)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_extensions_ReplicationControllerDummy_To_v1beta1_ReplicationControllerDummy(a.(*extensions.ReplicationControllerDummy), b.(*v1beta1.ReplicationControllerDummy), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddGeneratedConversionFunc((*v1beta1.RollbackConfig)(nil), (*apps.RollbackConfig)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
if err := s.AddGeneratedConversionFunc((*v1beta1.RollbackConfig)(nil), (*apps.RollbackConfig)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
return Convert_v1beta1_RollbackConfig_To_apps_RollbackConfig(a.(*v1beta1.RollbackConfig), b.(*apps.RollbackConfig), scope)
|
return Convert_v1beta1_RollbackConfig_To_apps_RollbackConfig(a.(*v1beta1.RollbackConfig), b.(*apps.RollbackConfig), scope)
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
@ -2006,24 +1995,6 @@ func Convert_apps_ReplicaSetStatus_To_v1beta1_ReplicaSetStatus(in *apps.ReplicaS
|
|||||||
return autoConvert_apps_ReplicaSetStatus_To_v1beta1_ReplicaSetStatus(in, out, s)
|
return autoConvert_apps_ReplicaSetStatus_To_v1beta1_ReplicaSetStatus(in, out, s)
|
||||||
}
|
}
|
||||||
|
|
||||||
func autoConvert_v1beta1_ReplicationControllerDummy_To_extensions_ReplicationControllerDummy(in *v1beta1.ReplicationControllerDummy, out *extensions.ReplicationControllerDummy, s conversion.Scope) error {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert_v1beta1_ReplicationControllerDummy_To_extensions_ReplicationControllerDummy is an autogenerated conversion function.
|
|
||||||
func Convert_v1beta1_ReplicationControllerDummy_To_extensions_ReplicationControllerDummy(in *v1beta1.ReplicationControllerDummy, out *extensions.ReplicationControllerDummy, s conversion.Scope) error {
|
|
||||||
return autoConvert_v1beta1_ReplicationControllerDummy_To_extensions_ReplicationControllerDummy(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_extensions_ReplicationControllerDummy_To_v1beta1_ReplicationControllerDummy(in *extensions.ReplicationControllerDummy, out *v1beta1.ReplicationControllerDummy, s conversion.Scope) error {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert_extensions_ReplicationControllerDummy_To_v1beta1_ReplicationControllerDummy is an autogenerated conversion function.
|
|
||||||
func Convert_extensions_ReplicationControllerDummy_To_v1beta1_ReplicationControllerDummy(in *extensions.ReplicationControllerDummy, out *v1beta1.ReplicationControllerDummy, s conversion.Scope) error {
|
|
||||||
return autoConvert_extensions_ReplicationControllerDummy_To_v1beta1_ReplicationControllerDummy(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_v1beta1_RollbackConfig_To_apps_RollbackConfig(in *v1beta1.RollbackConfig, out *apps.RollbackConfig, s conversion.Scope) error {
|
func autoConvert_v1beta1_RollbackConfig_To_apps_RollbackConfig(in *v1beta1.RollbackConfig, out *apps.RollbackConfig, s conversion.Scope) error {
|
||||||
out.Revision = in.Revision
|
out.Revision = in.Revision
|
||||||
return nil
|
return nil
|
||||||
|
29
pkg/apis/extensions/zz_generated.deepcopy.go
generated
29
pkg/apis/extensions/zz_generated.deepcopy.go
generated
@ -19,32 +19,3 @@ limitations under the License.
|
|||||||
// Code generated by deepcopy-gen. DO NOT EDIT.
|
// Code generated by deepcopy-gen. DO NOT EDIT.
|
||||||
|
|
||||||
package extensions
|
package extensions
|
||||||
|
|
||||||
import (
|
|
||||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
|
||||||
)
|
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
||||||
func (in *ReplicationControllerDummy) DeepCopyInto(out *ReplicationControllerDummy) {
|
|
||||||
*out = *in
|
|
||||||
out.TypeMeta = in.TypeMeta
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationControllerDummy.
|
|
||||||
func (in *ReplicationControllerDummy) DeepCopy() *ReplicationControllerDummy {
|
|
||||||
if in == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(ReplicationControllerDummy)
|
|
||||||
in.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
||||||
func (in *ReplicationControllerDummy) DeepCopyObject() runtime.Object {
|
|
||||||
if c := in.DeepCopy(); c != nil {
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
@ -74,8 +74,6 @@ go_library(
|
|||||||
"//staging/src/k8s.io/api/admissionregistration/v1:go_default_library",
|
"//staging/src/k8s.io/api/admissionregistration/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/api/admissionregistration/v1beta1:go_default_library",
|
"//staging/src/k8s.io/api/admissionregistration/v1beta1:go_default_library",
|
||||||
"//staging/src/k8s.io/api/apps/v1:go_default_library",
|
"//staging/src/k8s.io/api/apps/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/api/apps/v1beta1:go_default_library",
|
|
||||||
"//staging/src/k8s.io/api/apps/v1beta2:go_default_library",
|
|
||||||
"//staging/src/k8s.io/api/auditregistration/v1alpha1:go_default_library",
|
"//staging/src/k8s.io/api/auditregistration/v1alpha1:go_default_library",
|
||||||
"//staging/src/k8s.io/api/authentication/v1:go_default_library",
|
"//staging/src/k8s.io/api/authentication/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/api/authentication/v1beta1:go_default_library",
|
"//staging/src/k8s.io/api/authentication/v1beta1:go_default_library",
|
||||||
|
@ -27,8 +27,6 @@ import (
|
|||||||
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
|
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
|
||||||
admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1"
|
admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1"
|
||||||
appsv1 "k8s.io/api/apps/v1"
|
appsv1 "k8s.io/api/apps/v1"
|
||||||
appsv1beta1 "k8s.io/api/apps/v1beta1"
|
|
||||||
appsv1beta2 "k8s.io/api/apps/v1beta2"
|
|
||||||
auditregistrationv1alpha1 "k8s.io/api/auditregistration/v1alpha1"
|
auditregistrationv1alpha1 "k8s.io/api/auditregistration/v1alpha1"
|
||||||
authenticationv1 "k8s.io/api/authentication/v1"
|
authenticationv1 "k8s.io/api/authentication/v1"
|
||||||
authenticationv1beta1 "k8s.io/api/authentication/v1beta1"
|
authenticationv1beta1 "k8s.io/api/authentication/v1beta1"
|
||||||
@ -591,20 +589,6 @@ func DefaultAPIResourceConfigSource() *serverstorage.ResourceConfig {
|
|||||||
ret.EnableResources(
|
ret.EnableResources(
|
||||||
extensionsapiv1beta1.SchemeGroupVersion.WithResource("ingresses"),
|
extensionsapiv1beta1.SchemeGroupVersion.WithResource("ingresses"),
|
||||||
)
|
)
|
||||||
// disable deprecated beta resources in extensions/v1beta1 explicitly so we have a full list of what's possible to serve
|
|
||||||
ret.DisableResources(
|
|
||||||
extensionsapiv1beta1.SchemeGroupVersion.WithResource("daemonsets"),
|
|
||||||
extensionsapiv1beta1.SchemeGroupVersion.WithResource("deployments"),
|
|
||||||
extensionsapiv1beta1.SchemeGroupVersion.WithResource("networkpolicies"),
|
|
||||||
extensionsapiv1beta1.SchemeGroupVersion.WithResource("podsecuritypolicies"),
|
|
||||||
extensionsapiv1beta1.SchemeGroupVersion.WithResource("replicasets"),
|
|
||||||
extensionsapiv1beta1.SchemeGroupVersion.WithResource("replicationcontrollers"),
|
|
||||||
)
|
|
||||||
// disable deprecated beta versions explicitly so we have a full list of what's possible to serve
|
|
||||||
ret.DisableVersions(
|
|
||||||
appsv1beta1.SchemeGroupVersion,
|
|
||||||
appsv1beta2.SchemeGroupVersion,
|
|
||||||
)
|
|
||||||
// disable alpha versions explicitly so we have a full list of what's possible to serve
|
// disable alpha versions explicitly so we have a full list of what's possible to serve
|
||||||
ret.DisableVersions(
|
ret.DisableVersions(
|
||||||
auditregistrationv1alpha1.SchemeGroupVersion,
|
auditregistrationv1alpha1.SchemeGroupVersion,
|
||||||
|
@ -425,32 +425,32 @@ func TestStorageVersionHashEqualities(t *testing.T) {
|
|||||||
|
|
||||||
server := httptest.NewServer(master.GenericAPIServer.Handler.GoRestfulContainer.ServeMux)
|
server := httptest.NewServer(master.GenericAPIServer.Handler.GoRestfulContainer.ServeMux)
|
||||||
|
|
||||||
// Test 1: extensions/v1beta1/replicasets and apps/v1/replicasets have
|
// Test 1: extensions/v1beta1/ingresses and apps/v1/ingresses have
|
||||||
// the same storage version hash.
|
// the same storage version hash.
|
||||||
resp, err := http.Get(server.URL + "/apis/extensions/v1beta1")
|
resp, err := http.Get(server.URL + "/apis/extensions/v1beta1")
|
||||||
assert.Empty(err)
|
assert.Empty(err)
|
||||||
extList := metav1.APIResourceList{}
|
extList := metav1.APIResourceList{}
|
||||||
assert.NoError(decodeResponse(resp, &extList))
|
assert.NoError(decodeResponse(resp, &extList))
|
||||||
var extReplicasetHash, appsReplicasetHash string
|
var extIngressHash, appsIngressHash string
|
||||||
for _, r := range extList.APIResources {
|
for _, r := range extList.APIResources {
|
||||||
if r.Name == "replicasets" {
|
if r.Name == "ingresses" {
|
||||||
extReplicasetHash = r.StorageVersionHash
|
extIngressHash = r.StorageVersionHash
|
||||||
assert.NotEmpty(extReplicasetHash)
|
assert.NotEmpty(extIngressHash)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
resp, err = http.Get(server.URL + "/apis/apps/v1")
|
resp, err = http.Get(server.URL + "/apis/networking.k8s.io/v1beta1")
|
||||||
assert.Empty(err)
|
assert.Empty(err)
|
||||||
appsList := metav1.APIResourceList{}
|
appsList := metav1.APIResourceList{}
|
||||||
assert.NoError(decodeResponse(resp, &appsList))
|
assert.NoError(decodeResponse(resp, &appsList))
|
||||||
for _, r := range appsList.APIResources {
|
for _, r := range appsList.APIResources {
|
||||||
if r.Name == "replicasets" {
|
if r.Name == "ingresses" {
|
||||||
appsReplicasetHash = r.StorageVersionHash
|
appsIngressHash = r.StorageVersionHash
|
||||||
assert.NotEmpty(appsReplicasetHash)
|
assert.NotEmpty(appsIngressHash)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(extReplicasetHash) > 0 && len(appsReplicasetHash) > 0 {
|
if len(extIngressHash) > 0 && len(appsIngressHash) > 0 {
|
||||||
assert.Equal(extReplicasetHash, appsReplicasetHash)
|
assert.Equal(extIngressHash, appsIngressHash)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test 2: batch/v1/jobs and batch/v1beta1/cronjobs have different
|
// Test 2: batch/v1/jobs and batch/v1beta1/cronjobs have different
|
||||||
|
@ -73,7 +73,6 @@ filegroup(
|
|||||||
"//pkg/registry/discovery/rest:all-srcs",
|
"//pkg/registry/discovery/rest:all-srcs",
|
||||||
"//pkg/registry/events/event:all-srcs",
|
"//pkg/registry/events/event:all-srcs",
|
||||||
"//pkg/registry/events/rest:all-srcs",
|
"//pkg/registry/events/rest:all-srcs",
|
||||||
"//pkg/registry/extensions/controller/storage:all-srcs",
|
|
||||||
"//pkg/registry/extensions/rest:all-srcs",
|
"//pkg/registry/extensions/rest:all-srcs",
|
||||||
"//pkg/registry/flowcontrol/flowschema:all-srcs",
|
"//pkg/registry/flowcontrol/flowschema:all-srcs",
|
||||||
"//pkg/registry/flowcontrol/prioritylevelconfiguration:all-srcs",
|
"//pkg/registry/flowcontrol/prioritylevelconfiguration:all-srcs",
|
||||||
|
@ -18,8 +18,6 @@ go_library(
|
|||||||
"//pkg/registry/apps/replicaset/storage:go_default_library",
|
"//pkg/registry/apps/replicaset/storage:go_default_library",
|
||||||
"//pkg/registry/apps/statefulset/storage:go_default_library",
|
"//pkg/registry/apps/statefulset/storage:go_default_library",
|
||||||
"//staging/src/k8s.io/api/apps/v1:go_default_library",
|
"//staging/src/k8s.io/api/apps/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/api/apps/v1beta1:go_default_library",
|
|
||||||
"//staging/src/k8s.io/api/apps/v1beta2:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/registry/generic:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/registry/generic:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/server:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/server:go_default_library",
|
||||||
|
@ -18,8 +18,6 @@ package rest
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
appsapiv1 "k8s.io/api/apps/v1"
|
appsapiv1 "k8s.io/api/apps/v1"
|
||||||
appsapiv1beta1 "k8s.io/api/apps/v1beta1"
|
|
||||||
appsapiv1beta2 "k8s.io/api/apps/v1beta2"
|
|
||||||
"k8s.io/apiserver/pkg/registry/generic"
|
"k8s.io/apiserver/pkg/registry/generic"
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
"k8s.io/apiserver/pkg/registry/rest"
|
||||||
genericapiserver "k8s.io/apiserver/pkg/server"
|
genericapiserver "k8s.io/apiserver/pkg/server"
|
||||||
@ -40,20 +38,6 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
|
|||||||
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
|
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
|
||||||
// TODO refactor the plumbing to provide the information in the APIGroupInfo
|
// TODO refactor the plumbing to provide the information in the APIGroupInfo
|
||||||
|
|
||||||
if apiResourceConfigSource.VersionEnabled(appsapiv1beta1.SchemeGroupVersion) {
|
|
||||||
if storageMap, err := p.v1beta1Storage(apiResourceConfigSource, restOptionsGetter); err != nil {
|
|
||||||
return genericapiserver.APIGroupInfo{}, false, err
|
|
||||||
} else {
|
|
||||||
apiGroupInfo.VersionedResourcesStorageMap[appsapiv1beta1.SchemeGroupVersion.Version] = storageMap
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if apiResourceConfigSource.VersionEnabled(appsapiv1beta2.SchemeGroupVersion) {
|
|
||||||
if storageMap, err := p.v1beta2Storage(apiResourceConfigSource, restOptionsGetter); err != nil {
|
|
||||||
return genericapiserver.APIGroupInfo{}, false, err
|
|
||||||
} else {
|
|
||||||
apiGroupInfo.VersionedResourcesStorageMap[appsapiv1beta2.SchemeGroupVersion.Version] = storageMap
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if apiResourceConfigSource.VersionEnabled(appsapiv1.SchemeGroupVersion) {
|
if apiResourceConfigSource.VersionEnabled(appsapiv1.SchemeGroupVersion) {
|
||||||
if storageMap, err := p.v1Storage(apiResourceConfigSource, restOptionsGetter); err != nil {
|
if storageMap, err := p.v1Storage(apiResourceConfigSource, restOptionsGetter); err != nil {
|
||||||
return genericapiserver.APIGroupInfo{}, false, err
|
return genericapiserver.APIGroupInfo{}, false, err
|
||||||
@ -65,86 +49,6 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
|
|||||||
return apiGroupInfo, true, nil
|
return apiGroupInfo, true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (map[string]rest.Storage, error) {
|
|
||||||
storage := map[string]rest.Storage{}
|
|
||||||
|
|
||||||
// deployments
|
|
||||||
deploymentStorage, err := deploymentstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["deployments"] = deploymentStorage.Deployment
|
|
||||||
storage["deployments/status"] = deploymentStorage.Status
|
|
||||||
storage["deployments/rollback"] = deploymentStorage.Rollback
|
|
||||||
storage["deployments/scale"] = deploymentStorage.Scale
|
|
||||||
|
|
||||||
// statefulsets
|
|
||||||
statefulSetStorage, err := statefulsetstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["statefulsets"] = statefulSetStorage.StatefulSet
|
|
||||||
storage["statefulsets/status"] = statefulSetStorage.Status
|
|
||||||
storage["statefulsets/scale"] = statefulSetStorage.Scale
|
|
||||||
|
|
||||||
// controllerrevisions
|
|
||||||
historyStorage, err := controllerrevisionsstore.NewREST(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["controllerrevisions"] = historyStorage
|
|
||||||
|
|
||||||
return storage, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p RESTStorageProvider) v1beta2Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (map[string]rest.Storage, error) {
|
|
||||||
storage := map[string]rest.Storage{}
|
|
||||||
|
|
||||||
// deployments
|
|
||||||
deploymentStorage, err := deploymentstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["deployments"] = deploymentStorage.Deployment
|
|
||||||
storage["deployments/status"] = deploymentStorage.Status
|
|
||||||
storage["deployments/scale"] = deploymentStorage.Scale
|
|
||||||
|
|
||||||
// statefulsets
|
|
||||||
statefulSetStorage, err := statefulsetstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["statefulsets"] = statefulSetStorage.StatefulSet
|
|
||||||
storage["statefulsets/status"] = statefulSetStorage.Status
|
|
||||||
storage["statefulsets/scale"] = statefulSetStorage.Scale
|
|
||||||
|
|
||||||
// daemonsets
|
|
||||||
daemonSetStorage, daemonSetStatusStorage, err := daemonsetstore.NewREST(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["daemonsets"] = daemonSetStorage
|
|
||||||
storage["daemonsets/status"] = daemonSetStatusStorage
|
|
||||||
|
|
||||||
// replicasets
|
|
||||||
replicaSetStorage, err := replicasetstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["replicasets"] = replicaSetStorage.ReplicaSet
|
|
||||||
storage["replicasets/status"] = replicaSetStorage.Status
|
|
||||||
storage["replicasets/scale"] = replicaSetStorage.Scale
|
|
||||||
|
|
||||||
// controllerrevisions
|
|
||||||
historyStorage, err := controllerrevisionsstore.NewREST(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["controllerrevisions"] = historyStorage
|
|
||||||
|
|
||||||
return storage, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p RESTStorageProvider) v1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (map[string]rest.Storage, error) {
|
func (p RESTStorageProvider) v1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (map[string]rest.Storage, error) {
|
||||||
storage := map[string]rest.Storage{}
|
storage := map[string]rest.Storage{}
|
||||||
|
|
||||||
|
@ -1,58 +0,0 @@
|
|||||||
package(default_visibility = ["//visibility:public"])
|
|
||||||
|
|
||||||
load(
|
|
||||||
"@io_bazel_rules_go//go:def.bzl",
|
|
||||||
"go_library",
|
|
||||||
"go_test",
|
|
||||||
)
|
|
||||||
|
|
||||||
go_test(
|
|
||||||
name = "go_default_test",
|
|
||||||
srcs = ["storage_test.go"],
|
|
||||||
embed = [":go_default_library"],
|
|
||||||
deps = [
|
|
||||||
"//pkg/apis/autoscaling:go_default_library",
|
|
||||||
"//pkg/apis/core:go_default_library",
|
|
||||||
"//pkg/registry/registrytest:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/endpoints/request:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/registry/generic:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/storage:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/storage/etcd3/testing:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory:go_default_library",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
go_library(
|
|
||||||
name = "go_default_library",
|
|
||||||
srcs = ["storage.go"],
|
|
||||||
importpath = "k8s.io/kubernetes/pkg/registry/extensions/controller/storage",
|
|
||||||
deps = [
|
|
||||||
"//pkg/apis/autoscaling:go_default_library",
|
|
||||||
"//pkg/apis/autoscaling/validation:go_default_library",
|
|
||||||
"//pkg/apis/core:go_default_library",
|
|
||||||
"//pkg/apis/extensions:go_default_library",
|
|
||||||
"//pkg/registry/core/replicationcontroller/storage:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/registry/generic:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/registry/generic/registry:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
filegroup(
|
|
||||||
name = "package-srcs",
|
|
||||||
srcs = glob(["**"]),
|
|
||||||
tags = ["automanaged"],
|
|
||||||
visibility = ["//visibility:private"],
|
|
||||||
)
|
|
||||||
|
|
||||||
filegroup(
|
|
||||||
name = "all-srcs",
|
|
||||||
srcs = [":package-srcs"],
|
|
||||||
tags = ["automanaged"],
|
|
||||||
)
|
|
@ -1,162 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2014 The Kubernetes Authors.
|
|
||||||
|
|
||||||
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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package storage
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"k8s.io/apimachinery/pkg/api/errors"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
|
||||||
"k8s.io/apiserver/pkg/registry/generic"
|
|
||||||
genericregistry "k8s.io/apiserver/pkg/registry/generic/registry"
|
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/autoscaling"
|
|
||||||
autoscalingvalidation "k8s.io/kubernetes/pkg/apis/autoscaling/validation"
|
|
||||||
api "k8s.io/kubernetes/pkg/apis/core"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
|
||||||
controllerstore "k8s.io/kubernetes/pkg/registry/core/replicationcontroller/storage"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Container includes dummy storage for RC pods and experimental storage for Scale.
|
|
||||||
type ContainerStorage struct {
|
|
||||||
ReplicationController *RcREST
|
|
||||||
Scale *ScaleREST
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewStorage(optsGetter generic.RESTOptionsGetter) (ContainerStorage, error) {
|
|
||||||
// scale does not set status, only updates spec so we ignore the status
|
|
||||||
controllerREST, _, err := controllerstore.NewREST(optsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return ContainerStorage{}, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ContainerStorage{
|
|
||||||
ReplicationController: &RcREST{},
|
|
||||||
Scale: &ScaleREST{store: controllerREST.Store},
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type ScaleREST struct {
|
|
||||||
store *genericregistry.Store
|
|
||||||
}
|
|
||||||
|
|
||||||
// ScaleREST implements Patcher
|
|
||||||
var _ = rest.Patcher(&ScaleREST{})
|
|
||||||
|
|
||||||
// New creates a new Scale object
|
|
||||||
func (r *ScaleREST) New() runtime.Object {
|
|
||||||
return &autoscaling.Scale{}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *ScaleREST) Get(ctx context.Context, name string, options *metav1.GetOptions) (runtime.Object, error) {
|
|
||||||
obj, err := r.store.Get(ctx, name, options)
|
|
||||||
if err != nil {
|
|
||||||
return nil, errors.NewNotFound(extensions.Resource("replicationcontrollers/scale"), name)
|
|
||||||
}
|
|
||||||
rc := obj.(*api.ReplicationController)
|
|
||||||
return scaleFromRC(rc), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.UpdatedObjectInfo, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, forceAllowCreate bool, options *metav1.UpdateOptions) (runtime.Object, bool, error) {
|
|
||||||
obj, err := r.store.Get(ctx, name, &metav1.GetOptions{})
|
|
||||||
if err != nil {
|
|
||||||
return nil, false, errors.NewNotFound(extensions.Resource("replicationcontrollers/scale"), name)
|
|
||||||
}
|
|
||||||
rc := obj.(*api.ReplicationController)
|
|
||||||
oldScale := scaleFromRC(rc)
|
|
||||||
|
|
||||||
obj, err = objInfo.UpdatedObject(ctx, oldScale)
|
|
||||||
|
|
||||||
if obj == nil {
|
|
||||||
return nil, false, errors.NewBadRequest(fmt.Sprintf("nil update passed to Scale"))
|
|
||||||
}
|
|
||||||
scale, ok := obj.(*autoscaling.Scale)
|
|
||||||
if !ok {
|
|
||||||
return nil, false, errors.NewBadRequest(fmt.Sprintf("wrong object passed to Scale update: %v", obj))
|
|
||||||
}
|
|
||||||
|
|
||||||
if errs := autoscalingvalidation.ValidateScale(scale); len(errs) > 0 {
|
|
||||||
return nil, false, errors.NewInvalid(extensions.Kind("Scale"), scale.Name, errs)
|
|
||||||
}
|
|
||||||
|
|
||||||
rc.Spec.Replicas = scale.Spec.Replicas
|
|
||||||
rc.ResourceVersion = scale.ResourceVersion
|
|
||||||
obj, _, err = r.store.Update(
|
|
||||||
ctx,
|
|
||||||
rc.Name,
|
|
||||||
rest.DefaultUpdatedObjectInfo(rc),
|
|
||||||
toScaleCreateValidation(createValidation),
|
|
||||||
toScaleUpdateValidation(updateValidation),
|
|
||||||
false,
|
|
||||||
options,
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
return nil, false, errors.NewConflict(extensions.Resource("replicationcontrollers/scale"), scale.Name, err)
|
|
||||||
}
|
|
||||||
rc = obj.(*api.ReplicationController)
|
|
||||||
return scaleFromRC(rc), false, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func toScaleCreateValidation(f rest.ValidateObjectFunc) rest.ValidateObjectFunc {
|
|
||||||
return func(ctx context.Context, obj runtime.Object) error {
|
|
||||||
return f(ctx, scaleFromRC(obj.(*api.ReplicationController)))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func toScaleUpdateValidation(f rest.ValidateObjectUpdateFunc) rest.ValidateObjectUpdateFunc {
|
|
||||||
return func(ctx context.Context, obj, old runtime.Object) error {
|
|
||||||
return f(
|
|
||||||
ctx,
|
|
||||||
scaleFromRC(obj.(*api.ReplicationController)),
|
|
||||||
scaleFromRC(old.(*api.ReplicationController)),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// scaleFromRC returns a scale subresource for a replication controller.
|
|
||||||
func scaleFromRC(rc *api.ReplicationController) *autoscaling.Scale {
|
|
||||||
return &autoscaling.Scale{
|
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
|
||||||
Name: rc.Name,
|
|
||||||
Namespace: rc.Namespace,
|
|
||||||
UID: rc.UID,
|
|
||||||
ResourceVersion: rc.ResourceVersion,
|
|
||||||
CreationTimestamp: rc.CreationTimestamp,
|
|
||||||
},
|
|
||||||
Spec: autoscaling.ScaleSpec{
|
|
||||||
Replicas: rc.Spec.Replicas,
|
|
||||||
},
|
|
||||||
Status: autoscaling.ScaleStatus{
|
|
||||||
Replicas: rc.Status.Replicas,
|
|
||||||
Selector: labels.SelectorFromSet(labels.Set(rc.Spec.Selector)).String(),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Dummy implementation
|
|
||||||
type RcREST struct{}
|
|
||||||
|
|
||||||
func (r *RcREST) NamespaceScoped() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *RcREST) New() runtime.Object {
|
|
||||||
return &extensions.ReplicationControllerDummy{}
|
|
||||||
}
|
|
@ -1,132 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2014 The Kubernetes Authors.
|
|
||||||
|
|
||||||
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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package storage
|
|
||||||
|
|
||||||
import (
|
|
||||||
"testing"
|
|
||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
||||||
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
|
||||||
"k8s.io/apiserver/pkg/registry/generic"
|
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
|
||||||
"k8s.io/apiserver/pkg/storage"
|
|
||||||
etcd3testing "k8s.io/apiserver/pkg/storage/etcd3/testing"
|
|
||||||
"k8s.io/apiserver/pkg/storage/storagebackend/factory"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/autoscaling"
|
|
||||||
api "k8s.io/kubernetes/pkg/apis/core"
|
|
||||||
"k8s.io/kubernetes/pkg/registry/registrytest"
|
|
||||||
)
|
|
||||||
|
|
||||||
func newStorage(t *testing.T) (*ScaleREST, *etcd3testing.EtcdTestServer, storage.Interface, factory.DestroyFunc) {
|
|
||||||
etcdStorage, server := registrytest.NewEtcdStorage(t, "")
|
|
||||||
restOptions := generic.RESTOptions{StorageConfig: etcdStorage, Decorator: generic.UndecoratedStorage, DeleteCollectionWorkers: 1, ResourcePrefix: "controllers"}
|
|
||||||
s, d, err := generic.NewRawStorage(etcdStorage)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Couldn't create storage: %v", err)
|
|
||||||
}
|
|
||||||
destroyFunc := func() {
|
|
||||||
d()
|
|
||||||
server.Terminate(t)
|
|
||||||
}
|
|
||||||
storage, err := NewStorage(restOptions)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error from REST storage: %v", err)
|
|
||||||
}
|
|
||||||
return storage.Scale, server, s, destroyFunc
|
|
||||||
}
|
|
||||||
|
|
||||||
var validPodTemplate = api.PodTemplate{
|
|
||||||
Template: api.PodTemplateSpec{
|
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
|
||||||
Labels: map[string]string{"a": "b"},
|
|
||||||
},
|
|
||||||
Spec: api.PodSpec{
|
|
||||||
Containers: []api.Container{
|
|
||||||
{
|
|
||||||
Name: "test",
|
|
||||||
Image: "test_image",
|
|
||||||
ImagePullPolicy: api.PullIfNotPresent,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
RestartPolicy: api.RestartPolicyAlways,
|
|
||||||
DNSPolicy: api.DNSClusterFirst,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
var validReplicas = int32(8)
|
|
||||||
|
|
||||||
var validControllerSpec = api.ReplicationControllerSpec{
|
|
||||||
Replicas: validReplicas,
|
|
||||||
Selector: validPodTemplate.Template.Labels,
|
|
||||||
Template: &validPodTemplate.Template,
|
|
||||||
}
|
|
||||||
|
|
||||||
var validController = api.ReplicationController{
|
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test"},
|
|
||||||
Spec: validControllerSpec,
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestGet(t *testing.T) {
|
|
||||||
storage, _, si, destroyFunc := newStorage(t)
|
|
||||||
defer destroyFunc()
|
|
||||||
|
|
||||||
ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), "test")
|
|
||||||
key := "/controllers/test/foo"
|
|
||||||
if err := si.Create(ctx, key, &validController, nil, 0); err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
obj, err := storage.Get(ctx, "foo", &metav1.GetOptions{})
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
scale := obj.(*autoscaling.Scale)
|
|
||||||
if scale.Spec.Replicas != validReplicas {
|
|
||||||
t.Errorf("wrong replicas count expected: %d got: %d", validReplicas, scale.Spec.Replicas)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestUpdate(t *testing.T) {
|
|
||||||
storage, _, si, destroyFunc := newStorage(t)
|
|
||||||
defer destroyFunc()
|
|
||||||
|
|
||||||
ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), "test")
|
|
||||||
key := "/controllers/test/foo"
|
|
||||||
if err := si.Create(ctx, key, &validController, nil, 0); err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
replicas := int32(12)
|
|
||||||
update := autoscaling.Scale{
|
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test"},
|
|
||||||
Spec: autoscaling.ScaleSpec{
|
|
||||||
Replicas: replicas,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
if _, _, err := storage.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}); err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
obj, err := storage.Get(ctx, "foo", &metav1.GetOptions{})
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
updated := obj.(*autoscaling.Scale)
|
|
||||||
if updated.Spec.Replicas != replicas {
|
|
||||||
t.Errorf("wrong replicas count expected: %d got: %d", replicas, updated.Spec.Replicas)
|
|
||||||
}
|
|
||||||
}
|
|
@ -12,13 +12,7 @@ go_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//pkg/api/legacyscheme:go_default_library",
|
"//pkg/api/legacyscheme:go_default_library",
|
||||||
"//pkg/apis/extensions:go_default_library",
|
"//pkg/apis/extensions:go_default_library",
|
||||||
"//pkg/registry/apps/daemonset/storage:go_default_library",
|
|
||||||
"//pkg/registry/apps/deployment/storage:go_default_library",
|
|
||||||
"//pkg/registry/apps/replicaset/storage:go_default_library",
|
|
||||||
"//pkg/registry/extensions/controller/storage:go_default_library",
|
|
||||||
"//pkg/registry/networking/ingress/storage:go_default_library",
|
"//pkg/registry/networking/ingress/storage:go_default_library",
|
||||||
"//pkg/registry/networking/networkpolicy/storage:go_default_library",
|
|
||||||
"//pkg/registry/policy/podsecuritypolicy/storage:go_default_library",
|
|
||||||
"//staging/src/k8s.io/api/extensions/v1beta1:go_default_library",
|
"//staging/src/k8s.io/api/extensions/v1beta1:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/registry/generic:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/registry/generic:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library",
|
||||||
|
@ -24,13 +24,7 @@ import (
|
|||||||
serverstorage "k8s.io/apiserver/pkg/server/storage"
|
serverstorage "k8s.io/apiserver/pkg/server/storage"
|
||||||
"k8s.io/kubernetes/pkg/api/legacyscheme"
|
"k8s.io/kubernetes/pkg/api/legacyscheme"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
daemonstore "k8s.io/kubernetes/pkg/registry/apps/daemonset/storage"
|
|
||||||
deploymentstore "k8s.io/kubernetes/pkg/registry/apps/deployment/storage"
|
|
||||||
replicasetstore "k8s.io/kubernetes/pkg/registry/apps/replicaset/storage"
|
|
||||||
expcontrollerstore "k8s.io/kubernetes/pkg/registry/extensions/controller/storage"
|
|
||||||
ingressstore "k8s.io/kubernetes/pkg/registry/networking/ingress/storage"
|
ingressstore "k8s.io/kubernetes/pkg/registry/networking/ingress/storage"
|
||||||
networkpolicystore "k8s.io/kubernetes/pkg/registry/networking/networkpolicy/storage"
|
|
||||||
pspstore "k8s.io/kubernetes/pkg/registry/policy/podsecuritypolicy/storage"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type RESTStorageProvider struct{}
|
type RESTStorageProvider struct{}
|
||||||
@ -54,38 +48,6 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
|
|||||||
func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (map[string]rest.Storage, error) {
|
func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (map[string]rest.Storage, error) {
|
||||||
storage := map[string]rest.Storage{}
|
storage := map[string]rest.Storage{}
|
||||||
|
|
||||||
// This is a dummy replication controller for scale subresource purposes.
|
|
||||||
// TODO: figure out how to enable this only if needed as a part of scale subresource GA.
|
|
||||||
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("replicationcontrollers")) {
|
|
||||||
controllerStorage, err := expcontrollerstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["replicationcontrollers"] = controllerStorage.ReplicationController
|
|
||||||
storage["replicationcontrollers/scale"] = controllerStorage.Scale
|
|
||||||
}
|
|
||||||
|
|
||||||
// daemonsets
|
|
||||||
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("daemonsets")) {
|
|
||||||
daemonSetStorage, daemonSetStatusStorage, err := daemonstore.NewREST(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["daemonsets"] = daemonSetStorage.WithCategories(nil)
|
|
||||||
storage["daemonsets/status"] = daemonSetStatusStorage
|
|
||||||
}
|
|
||||||
|
|
||||||
//deployments
|
|
||||||
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("deployments")) {
|
|
||||||
deploymentStorage, err := deploymentstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["deployments"] = deploymentStorage.Deployment.WithCategories(nil)
|
|
||||||
storage["deployments/status"] = deploymentStorage.Status
|
|
||||||
storage["deployments/rollback"] = deploymentStorage.Rollback
|
|
||||||
storage["deployments/scale"] = deploymentStorage.Scale
|
|
||||||
}
|
|
||||||
// ingresses
|
// ingresses
|
||||||
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("ingresses")) {
|
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("ingresses")) {
|
||||||
ingressStorage, ingressStatusStorage, err := ingressstore.NewREST(restOptionsGetter)
|
ingressStorage, ingressStatusStorage, err := ingressstore.NewREST(restOptionsGetter)
|
||||||
@ -96,35 +58,6 @@ func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorag
|
|||||||
storage["ingresses/status"] = ingressStatusStorage
|
storage["ingresses/status"] = ingressStatusStorage
|
||||||
}
|
}
|
||||||
|
|
||||||
// podsecuritypolicy
|
|
||||||
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("podsecuritypolicies")) {
|
|
||||||
podSecurityPolicyStorage, err := pspstore.NewREST(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["podSecurityPolicies"] = podSecurityPolicyStorage
|
|
||||||
}
|
|
||||||
|
|
||||||
// replicasets
|
|
||||||
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("replicasets")) {
|
|
||||||
replicaSetStorage, err := replicasetstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["replicasets"] = replicaSetStorage.ReplicaSet.WithCategories(nil)
|
|
||||||
storage["replicasets/status"] = replicaSetStorage.Status
|
|
||||||
storage["replicasets/scale"] = replicaSetStorage.Scale
|
|
||||||
}
|
|
||||||
|
|
||||||
// networkpolicies
|
|
||||||
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("networkpolicies")) {
|
|
||||||
networkExtensionsStorage, err := networkpolicystore.NewREST(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["networkpolicies"] = networkExtensionsStorage
|
|
||||||
}
|
|
||||||
|
|
||||||
return storage, nil
|
return storage, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1309,38 +1309,10 @@ func (m *ReplicaSetStatus) XXX_DiscardUnknown() {
|
|||||||
|
|
||||||
var xxx_messageInfo_ReplicaSetStatus proto.InternalMessageInfo
|
var xxx_messageInfo_ReplicaSetStatus proto.InternalMessageInfo
|
||||||
|
|
||||||
func (m *ReplicationControllerDummy) Reset() { *m = ReplicationControllerDummy{} }
|
|
||||||
func (*ReplicationControllerDummy) ProtoMessage() {}
|
|
||||||
func (*ReplicationControllerDummy) Descriptor() ([]byte, []int) {
|
|
||||||
return fileDescriptor_cdc93917efc28165, []int{45}
|
|
||||||
}
|
|
||||||
func (m *ReplicationControllerDummy) XXX_Unmarshal(b []byte) error {
|
|
||||||
return m.Unmarshal(b)
|
|
||||||
}
|
|
||||||
func (m *ReplicationControllerDummy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
|
||||||
b = b[:cap(b)]
|
|
||||||
n, err := m.MarshalToSizedBuffer(b)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return b[:n], nil
|
|
||||||
}
|
|
||||||
func (m *ReplicationControllerDummy) XXX_Merge(src proto.Message) {
|
|
||||||
xxx_messageInfo_ReplicationControllerDummy.Merge(m, src)
|
|
||||||
}
|
|
||||||
func (m *ReplicationControllerDummy) XXX_Size() int {
|
|
||||||
return m.Size()
|
|
||||||
}
|
|
||||||
func (m *ReplicationControllerDummy) XXX_DiscardUnknown() {
|
|
||||||
xxx_messageInfo_ReplicationControllerDummy.DiscardUnknown(m)
|
|
||||||
}
|
|
||||||
|
|
||||||
var xxx_messageInfo_ReplicationControllerDummy proto.InternalMessageInfo
|
|
||||||
|
|
||||||
func (m *RollbackConfig) Reset() { *m = RollbackConfig{} }
|
func (m *RollbackConfig) Reset() { *m = RollbackConfig{} }
|
||||||
func (*RollbackConfig) ProtoMessage() {}
|
func (*RollbackConfig) ProtoMessage() {}
|
||||||
func (*RollbackConfig) Descriptor() ([]byte, []int) {
|
func (*RollbackConfig) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_cdc93917efc28165, []int{46}
|
return fileDescriptor_cdc93917efc28165, []int{45}
|
||||||
}
|
}
|
||||||
func (m *RollbackConfig) XXX_Unmarshal(b []byte) error {
|
func (m *RollbackConfig) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -1368,7 +1340,7 @@ var xxx_messageInfo_RollbackConfig proto.InternalMessageInfo
|
|||||||
func (m *RollingUpdateDaemonSet) Reset() { *m = RollingUpdateDaemonSet{} }
|
func (m *RollingUpdateDaemonSet) Reset() { *m = RollingUpdateDaemonSet{} }
|
||||||
func (*RollingUpdateDaemonSet) ProtoMessage() {}
|
func (*RollingUpdateDaemonSet) ProtoMessage() {}
|
||||||
func (*RollingUpdateDaemonSet) Descriptor() ([]byte, []int) {
|
func (*RollingUpdateDaemonSet) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_cdc93917efc28165, []int{47}
|
return fileDescriptor_cdc93917efc28165, []int{46}
|
||||||
}
|
}
|
||||||
func (m *RollingUpdateDaemonSet) XXX_Unmarshal(b []byte) error {
|
func (m *RollingUpdateDaemonSet) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -1396,7 +1368,7 @@ var xxx_messageInfo_RollingUpdateDaemonSet proto.InternalMessageInfo
|
|||||||
func (m *RollingUpdateDeployment) Reset() { *m = RollingUpdateDeployment{} }
|
func (m *RollingUpdateDeployment) Reset() { *m = RollingUpdateDeployment{} }
|
||||||
func (*RollingUpdateDeployment) ProtoMessage() {}
|
func (*RollingUpdateDeployment) ProtoMessage() {}
|
||||||
func (*RollingUpdateDeployment) Descriptor() ([]byte, []int) {
|
func (*RollingUpdateDeployment) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_cdc93917efc28165, []int{48}
|
return fileDescriptor_cdc93917efc28165, []int{47}
|
||||||
}
|
}
|
||||||
func (m *RollingUpdateDeployment) XXX_Unmarshal(b []byte) error {
|
func (m *RollingUpdateDeployment) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -1424,7 +1396,7 @@ var xxx_messageInfo_RollingUpdateDeployment proto.InternalMessageInfo
|
|||||||
func (m *RunAsGroupStrategyOptions) Reset() { *m = RunAsGroupStrategyOptions{} }
|
func (m *RunAsGroupStrategyOptions) Reset() { *m = RunAsGroupStrategyOptions{} }
|
||||||
func (*RunAsGroupStrategyOptions) ProtoMessage() {}
|
func (*RunAsGroupStrategyOptions) ProtoMessage() {}
|
||||||
func (*RunAsGroupStrategyOptions) Descriptor() ([]byte, []int) {
|
func (*RunAsGroupStrategyOptions) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_cdc93917efc28165, []int{49}
|
return fileDescriptor_cdc93917efc28165, []int{48}
|
||||||
}
|
}
|
||||||
func (m *RunAsGroupStrategyOptions) XXX_Unmarshal(b []byte) error {
|
func (m *RunAsGroupStrategyOptions) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -1452,7 +1424,7 @@ var xxx_messageInfo_RunAsGroupStrategyOptions proto.InternalMessageInfo
|
|||||||
func (m *RunAsUserStrategyOptions) Reset() { *m = RunAsUserStrategyOptions{} }
|
func (m *RunAsUserStrategyOptions) Reset() { *m = RunAsUserStrategyOptions{} }
|
||||||
func (*RunAsUserStrategyOptions) ProtoMessage() {}
|
func (*RunAsUserStrategyOptions) ProtoMessage() {}
|
||||||
func (*RunAsUserStrategyOptions) Descriptor() ([]byte, []int) {
|
func (*RunAsUserStrategyOptions) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_cdc93917efc28165, []int{50}
|
return fileDescriptor_cdc93917efc28165, []int{49}
|
||||||
}
|
}
|
||||||
func (m *RunAsUserStrategyOptions) XXX_Unmarshal(b []byte) error {
|
func (m *RunAsUserStrategyOptions) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -1480,7 +1452,7 @@ var xxx_messageInfo_RunAsUserStrategyOptions proto.InternalMessageInfo
|
|||||||
func (m *RuntimeClassStrategyOptions) Reset() { *m = RuntimeClassStrategyOptions{} }
|
func (m *RuntimeClassStrategyOptions) Reset() { *m = RuntimeClassStrategyOptions{} }
|
||||||
func (*RuntimeClassStrategyOptions) ProtoMessage() {}
|
func (*RuntimeClassStrategyOptions) ProtoMessage() {}
|
||||||
func (*RuntimeClassStrategyOptions) Descriptor() ([]byte, []int) {
|
func (*RuntimeClassStrategyOptions) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_cdc93917efc28165, []int{51}
|
return fileDescriptor_cdc93917efc28165, []int{50}
|
||||||
}
|
}
|
||||||
func (m *RuntimeClassStrategyOptions) XXX_Unmarshal(b []byte) error {
|
func (m *RuntimeClassStrategyOptions) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -1508,7 +1480,7 @@ var xxx_messageInfo_RuntimeClassStrategyOptions proto.InternalMessageInfo
|
|||||||
func (m *SELinuxStrategyOptions) Reset() { *m = SELinuxStrategyOptions{} }
|
func (m *SELinuxStrategyOptions) Reset() { *m = SELinuxStrategyOptions{} }
|
||||||
func (*SELinuxStrategyOptions) ProtoMessage() {}
|
func (*SELinuxStrategyOptions) ProtoMessage() {}
|
||||||
func (*SELinuxStrategyOptions) Descriptor() ([]byte, []int) {
|
func (*SELinuxStrategyOptions) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_cdc93917efc28165, []int{52}
|
return fileDescriptor_cdc93917efc28165, []int{51}
|
||||||
}
|
}
|
||||||
func (m *SELinuxStrategyOptions) XXX_Unmarshal(b []byte) error {
|
func (m *SELinuxStrategyOptions) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -1536,7 +1508,7 @@ var xxx_messageInfo_SELinuxStrategyOptions proto.InternalMessageInfo
|
|||||||
func (m *Scale) Reset() { *m = Scale{} }
|
func (m *Scale) Reset() { *m = Scale{} }
|
||||||
func (*Scale) ProtoMessage() {}
|
func (*Scale) ProtoMessage() {}
|
||||||
func (*Scale) Descriptor() ([]byte, []int) {
|
func (*Scale) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_cdc93917efc28165, []int{53}
|
return fileDescriptor_cdc93917efc28165, []int{52}
|
||||||
}
|
}
|
||||||
func (m *Scale) XXX_Unmarshal(b []byte) error {
|
func (m *Scale) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -1564,7 +1536,7 @@ var xxx_messageInfo_Scale proto.InternalMessageInfo
|
|||||||
func (m *ScaleSpec) Reset() { *m = ScaleSpec{} }
|
func (m *ScaleSpec) Reset() { *m = ScaleSpec{} }
|
||||||
func (*ScaleSpec) ProtoMessage() {}
|
func (*ScaleSpec) ProtoMessage() {}
|
||||||
func (*ScaleSpec) Descriptor() ([]byte, []int) {
|
func (*ScaleSpec) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_cdc93917efc28165, []int{54}
|
return fileDescriptor_cdc93917efc28165, []int{53}
|
||||||
}
|
}
|
||||||
func (m *ScaleSpec) XXX_Unmarshal(b []byte) error {
|
func (m *ScaleSpec) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -1592,7 +1564,7 @@ var xxx_messageInfo_ScaleSpec proto.InternalMessageInfo
|
|||||||
func (m *ScaleStatus) Reset() { *m = ScaleStatus{} }
|
func (m *ScaleStatus) Reset() { *m = ScaleStatus{} }
|
||||||
func (*ScaleStatus) ProtoMessage() {}
|
func (*ScaleStatus) ProtoMessage() {}
|
||||||
func (*ScaleStatus) Descriptor() ([]byte, []int) {
|
func (*ScaleStatus) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_cdc93917efc28165, []int{55}
|
return fileDescriptor_cdc93917efc28165, []int{54}
|
||||||
}
|
}
|
||||||
func (m *ScaleStatus) XXX_Unmarshal(b []byte) error {
|
func (m *ScaleStatus) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -1620,7 +1592,7 @@ var xxx_messageInfo_ScaleStatus proto.InternalMessageInfo
|
|||||||
func (m *SupplementalGroupsStrategyOptions) Reset() { *m = SupplementalGroupsStrategyOptions{} }
|
func (m *SupplementalGroupsStrategyOptions) Reset() { *m = SupplementalGroupsStrategyOptions{} }
|
||||||
func (*SupplementalGroupsStrategyOptions) ProtoMessage() {}
|
func (*SupplementalGroupsStrategyOptions) ProtoMessage() {}
|
||||||
func (*SupplementalGroupsStrategyOptions) Descriptor() ([]byte, []int) {
|
func (*SupplementalGroupsStrategyOptions) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_cdc93917efc28165, []int{56}
|
return fileDescriptor_cdc93917efc28165, []int{55}
|
||||||
}
|
}
|
||||||
func (m *SupplementalGroupsStrategyOptions) XXX_Unmarshal(b []byte) error {
|
func (m *SupplementalGroupsStrategyOptions) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -1692,7 +1664,6 @@ func init() {
|
|||||||
proto.RegisterType((*ReplicaSetList)(nil), "k8s.io.api.extensions.v1beta1.ReplicaSetList")
|
proto.RegisterType((*ReplicaSetList)(nil), "k8s.io.api.extensions.v1beta1.ReplicaSetList")
|
||||||
proto.RegisterType((*ReplicaSetSpec)(nil), "k8s.io.api.extensions.v1beta1.ReplicaSetSpec")
|
proto.RegisterType((*ReplicaSetSpec)(nil), "k8s.io.api.extensions.v1beta1.ReplicaSetSpec")
|
||||||
proto.RegisterType((*ReplicaSetStatus)(nil), "k8s.io.api.extensions.v1beta1.ReplicaSetStatus")
|
proto.RegisterType((*ReplicaSetStatus)(nil), "k8s.io.api.extensions.v1beta1.ReplicaSetStatus")
|
||||||
proto.RegisterType((*ReplicationControllerDummy)(nil), "k8s.io.api.extensions.v1beta1.ReplicationControllerDummy")
|
|
||||||
proto.RegisterType((*RollbackConfig)(nil), "k8s.io.api.extensions.v1beta1.RollbackConfig")
|
proto.RegisterType((*RollbackConfig)(nil), "k8s.io.api.extensions.v1beta1.RollbackConfig")
|
||||||
proto.RegisterType((*RollingUpdateDaemonSet)(nil), "k8s.io.api.extensions.v1beta1.RollingUpdateDaemonSet")
|
proto.RegisterType((*RollingUpdateDaemonSet)(nil), "k8s.io.api.extensions.v1beta1.RollingUpdateDaemonSet")
|
||||||
proto.RegisterType((*RollingUpdateDeployment)(nil), "k8s.io.api.extensions.v1beta1.RollingUpdateDeployment")
|
proto.RegisterType((*RollingUpdateDeployment)(nil), "k8s.io.api.extensions.v1beta1.RollingUpdateDeployment")
|
||||||
@ -1712,238 +1683,237 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var fileDescriptor_cdc93917efc28165 = []byte{
|
var fileDescriptor_cdc93917efc28165 = []byte{
|
||||||
// 3684 bytes of a gzipped FileDescriptorProto
|
// 3665 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0x4f, 0x6c, 0x1b, 0x47,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0x4f, 0x6c, 0x1b, 0x47,
|
||||||
0x77, 0xf7, 0x92, 0x94, 0x48, 0x3d, 0xfd, 0x1f, 0xc9, 0x12, 0x3f, 0x3b, 0x16, 0xfd, 0x6d, 0x00,
|
0x77, 0xf7, 0x92, 0x94, 0x48, 0x3d, 0xfd, 0x1f, 0xc9, 0x12, 0x3f, 0xfb, 0xb3, 0xe8, 0x6f, 0x03,
|
||||||
0xd7, 0x49, 0x6d, 0x32, 0x76, 0x6c, 0x7f, 0xae, 0x8d, 0x7e, 0x89, 0x28, 0x59, 0xb6, 0x52, 0xfd,
|
0xb8, 0x4e, 0x6a, 0x93, 0xb1, 0x63, 0xfb, 0x73, 0x6d, 0x34, 0x89, 0x28, 0x59, 0xb6, 0x52, 0xfd,
|
||||||
0x61, 0x86, 0x92, 0x1b, 0x04, 0x4d, 0x9a, 0x15, 0x39, 0xa2, 0xd6, 0x5a, 0xee, 0x6e, 0x76, 0x87,
|
0x61, 0x86, 0x92, 0x1b, 0x04, 0x4d, 0x9a, 0x15, 0x39, 0xa2, 0xd6, 0x5a, 0xee, 0x6e, 0x76, 0x96,
|
||||||
0x8a, 0x08, 0xf4, 0xd0, 0x43, 0x51, 0xa0, 0x40, 0x8b, 0xf6, 0x92, 0xb6, 0xc7, 0x06, 0x05, 0x7a,
|
0x8a, 0x08, 0xf4, 0xd0, 0x43, 0x51, 0xa0, 0x40, 0x8b, 0xf6, 0x92, 0xb6, 0xc7, 0x06, 0x05, 0x7a,
|
||||||
0x6a, 0xd1, 0xde, 0xda, 0x43, 0x10, 0xa0, 0x40, 0x0a, 0x18, 0x45, 0x5a, 0xe4, 0xd6, 0x9c, 0x84,
|
0x6a, 0xd1, 0xde, 0xda, 0x43, 0x10, 0xa0, 0x40, 0x0a, 0x18, 0x45, 0x5a, 0xe4, 0xd6, 0x9c, 0x84,
|
||||||
0x46, 0x39, 0x15, 0x3d, 0xf5, 0x56, 0xf8, 0x50, 0x14, 0x33, 0x3b, 0xfb, 0x7f, 0x57, 0x5c, 0x29,
|
0x46, 0x39, 0x15, 0x3d, 0xf5, 0x56, 0xf8, 0x50, 0x14, 0x33, 0x3b, 0xfb, 0x7f, 0x57, 0x5c, 0x29,
|
||||||
0xb6, 0xd0, 0x00, 0xbd, 0x89, 0xf3, 0xde, 0xfb, 0xbd, 0x37, 0x33, 0x6f, 0xde, 0x7b, 0x33, 0xfb,
|
0xb6, 0xd0, 0x00, 0xbd, 0x89, 0xf3, 0xde, 0xfb, 0xbd, 0x37, 0x33, 0x6f, 0xde, 0x7b, 0x33, 0xfb,
|
||||||
0x04, 0x2b, 0xfb, 0xf7, 0xed, 0xaa, 0x6a, 0xd4, 0xf6, 0x7b, 0x3b, 0xc4, 0xd2, 0x09, 0x25, 0x76,
|
0x04, 0x2b, 0xfb, 0xf7, 0x69, 0x55, 0x35, 0x6a, 0xfb, 0xbd, 0x1d, 0x62, 0xe9, 0xc4, 0x26, 0xb4,
|
||||||
0xed, 0x80, 0xe8, 0x6d, 0xc3, 0xaa, 0x09, 0x82, 0x62, 0xaa, 0x35, 0x72, 0x48, 0x89, 0x6e, 0xab,
|
0x76, 0x40, 0xf4, 0xb6, 0x61, 0xd5, 0x04, 0x41, 0x31, 0xd5, 0x1a, 0x39, 0xb4, 0x89, 0x4e, 0x55,
|
||||||
0x86, 0x6e, 0xd7, 0x0e, 0x6e, 0xed, 0x10, 0xaa, 0xdc, 0xaa, 0x75, 0x88, 0x4e, 0x2c, 0x85, 0x92,
|
0x43, 0xa7, 0xb5, 0x83, 0x5b, 0x3b, 0xc4, 0x56, 0x6e, 0xd5, 0x3a, 0x44, 0x27, 0x96, 0x62, 0x93,
|
||||||
0x76, 0xd5, 0xb4, 0x0c, 0x6a, 0xa0, 0x2b, 0x0e, 0x7b, 0x55, 0x31, 0xd5, 0xaa, 0xcf, 0x5e, 0x15,
|
0x76, 0xd5, 0xb4, 0x0c, 0xdb, 0x40, 0x57, 0x1c, 0xf6, 0xaa, 0x62, 0xaa, 0x55, 0x9f, 0xbd, 0x2a,
|
||||||
0xec, 0x97, 0x6e, 0x76, 0x54, 0xba, 0xd7, 0xdb, 0xa9, 0xb6, 0x8c, 0x6e, 0xad, 0x63, 0x74, 0x8c,
|
0xd8, 0x2f, 0xdd, 0xec, 0xa8, 0xf6, 0x5e, 0x6f, 0xa7, 0xda, 0x32, 0xba, 0xb5, 0x8e, 0xd1, 0x31,
|
||||||
0x1a, 0x97, 0xda, 0xe9, 0xed, 0xf2, 0x5f, 0xfc, 0x07, 0xff, 0xcb, 0x41, 0xbb, 0x24, 0x07, 0x94,
|
0x6a, 0x5c, 0x6a, 0xa7, 0xb7, 0xcb, 0x7f, 0xf1, 0x1f, 0xfc, 0x2f, 0x07, 0xed, 0x92, 0x1c, 0x50,
|
||||||
0xb7, 0x0c, 0x8b, 0xd4, 0x0e, 0x62, 0x1a, 0x2f, 0xdd, 0xf1, 0x79, 0xba, 0x4a, 0x6b, 0x4f, 0xd5,
|
0xde, 0x32, 0x2c, 0x52, 0x3b, 0x88, 0x69, 0xbc, 0x74, 0xc7, 0xe7, 0xe9, 0x2a, 0xad, 0x3d, 0x55,
|
||||||
0x89, 0xd5, 0xaf, 0x99, 0xfb, 0x1d, 0x36, 0x60, 0xd7, 0xba, 0x84, 0x2a, 0x49, 0x52, 0xb5, 0x34,
|
0x27, 0x56, 0xbf, 0x66, 0xee, 0x77, 0xd8, 0x00, 0xad, 0x75, 0x89, 0xad, 0x24, 0x49, 0xd5, 0xd2,
|
||||||
0x29, 0xab, 0xa7, 0x53, 0xb5, 0x4b, 0x62, 0x02, 0xf7, 0x06, 0x09, 0xd8, 0xad, 0x3d, 0xd2, 0x55,
|
0xa4, 0xac, 0x9e, 0x6e, 0xab, 0x5d, 0x12, 0x13, 0xb8, 0x37, 0x48, 0x80, 0xb6, 0xf6, 0x48, 0x57,
|
||||||
0x62, 0x72, 0x6f, 0xa7, 0xc9, 0xf5, 0xa8, 0xaa, 0xd5, 0x54, 0x9d, 0xda, 0xd4, 0x8a, 0x0a, 0xc9,
|
0x89, 0xc9, 0xbd, 0x95, 0x26, 0xd7, 0xb3, 0x55, 0xad, 0xa6, 0xea, 0x36, 0xb5, 0xad, 0xa8, 0x90,
|
||||||
0x77, 0x60, 0x6a, 0x51, 0xd3, 0x8c, 0xcf, 0x48, 0x7b, 0xa9, 0xb9, 0xba, 0x6c, 0xa9, 0x07, 0xc4,
|
0x7c, 0x07, 0xa6, 0x16, 0x35, 0xcd, 0xf8, 0x8c, 0xb4, 0x97, 0x9a, 0xab, 0xcb, 0x96, 0x7a, 0x40,
|
||||||
0x42, 0x57, 0xa1, 0xa0, 0x2b, 0x5d, 0x52, 0x96, 0xae, 0x4a, 0xd7, 0x47, 0xea, 0x63, 0xcf, 0x8f,
|
0x2c, 0x74, 0x15, 0x0a, 0xba, 0xd2, 0x25, 0x65, 0xe9, 0xaa, 0x74, 0x7d, 0xa4, 0x3e, 0xf6, 0xfc,
|
||||||
0x2a, 0x17, 0x8e, 0x8f, 0x2a, 0x85, 0x0d, 0xa5, 0x4b, 0x30, 0xa7, 0xc8, 0x0f, 0x61, 0x5a, 0x48,
|
0xa8, 0x72, 0xe1, 0xf8, 0xa8, 0x52, 0xd8, 0x50, 0xba, 0x04, 0x73, 0x8a, 0xfc, 0x10, 0xa6, 0x85,
|
||||||
0xad, 0x68, 0xe4, 0xf0, 0xa9, 0xa1, 0xf5, 0xba, 0x04, 0x5d, 0x83, 0xe1, 0x36, 0x07, 0x10, 0x82,
|
0xd4, 0x8a, 0x46, 0x0e, 0x9f, 0x1a, 0x5a, 0xaf, 0x4b, 0xd0, 0x35, 0x18, 0x6e, 0x73, 0x00, 0x21,
|
||||||
0x13, 0x42, 0x70, 0xd8, 0x81, 0xc5, 0x82, 0x2a, 0xdb, 0x30, 0x29, 0x84, 0x9f, 0x18, 0x36, 0x6d,
|
0x38, 0x21, 0x04, 0x87, 0x1d, 0x58, 0x2c, 0xa8, 0x32, 0x85, 0x49, 0x21, 0xfc, 0xc4, 0xa0, 0x76,
|
||||||
0x28, 0x74, 0x0f, 0xdd, 0x06, 0x30, 0x15, 0xba, 0xd7, 0xb0, 0xc8, 0xae, 0x7a, 0x28, 0xc4, 0x91,
|
0x43, 0xb1, 0xf7, 0xd0, 0x6d, 0x00, 0x53, 0xb1, 0xf7, 0x1a, 0x16, 0xd9, 0x55, 0x0f, 0x85, 0x38,
|
||||||
0x10, 0x87, 0x86, 0x47, 0xc1, 0x01, 0x2e, 0x74, 0x03, 0x4a, 0x16, 0x51, 0xda, 0x9b, 0xba, 0xd6,
|
0x12, 0xe2, 0xd0, 0xf0, 0x28, 0x38, 0xc0, 0x85, 0x6e, 0x40, 0xc9, 0x22, 0x4a, 0x7b, 0x53, 0xd7,
|
||||||
0x2f, 0xe7, 0xae, 0x4a, 0xd7, 0x4b, 0xf5, 0x29, 0x21, 0x51, 0xc2, 0x62, 0x1c, 0x7b, 0x1c, 0xf2,
|
0xfa, 0xe5, 0xdc, 0x55, 0xe9, 0x7a, 0xa9, 0x3e, 0x25, 0x24, 0x4a, 0x58, 0x8c, 0x63, 0x8f, 0x43,
|
||||||
0xe7, 0x39, 0x18, 0x59, 0x56, 0x48, 0xd7, 0xd0, 0x9b, 0x84, 0xa2, 0x4f, 0xa0, 0xc4, 0xb6, 0xab,
|
0xfe, 0x3c, 0x07, 0x23, 0xcb, 0x0a, 0xe9, 0x1a, 0x7a, 0x93, 0xd8, 0xe8, 0x13, 0x28, 0xb1, 0xed,
|
||||||
0xad, 0x50, 0x85, 0x6b, 0x1b, 0xbd, 0xfd, 0x56, 0xd5, 0x77, 0x27, 0x6f, 0xf5, 0xaa, 0xe6, 0x7e,
|
0x6a, 0x2b, 0xb6, 0xc2, 0xb5, 0x8d, 0xde, 0x7e, 0xb3, 0xea, 0xbb, 0x93, 0xb7, 0x7a, 0x55, 0x73,
|
||||||
0x87, 0x0d, 0xd8, 0x55, 0xc6, 0x5d, 0x3d, 0xb8, 0x55, 0xdd, 0xdc, 0x79, 0x46, 0x5a, 0x74, 0x9d,
|
0xbf, 0xc3, 0x06, 0x68, 0x95, 0x71, 0x57, 0x0f, 0x6e, 0x55, 0x37, 0x77, 0x9e, 0x91, 0x96, 0xbd,
|
||||||
0x50, 0xc5, 0xb7, 0xcf, 0x1f, 0xc3, 0x1e, 0x2a, 0xda, 0x80, 0x82, 0x6d, 0x92, 0x16, 0xb7, 0x6c,
|
0x4e, 0x6c, 0xc5, 0xb7, 0xcf, 0x1f, 0xc3, 0x1e, 0x2a, 0xda, 0x80, 0x02, 0x35, 0x49, 0x8b, 0x5b,
|
||||||
0xf4, 0xf6, 0x8d, 0xea, 0x89, 0xce, 0x5a, 0xf5, 0x2c, 0x6b, 0x9a, 0xa4, 0xe5, 0xaf, 0x38, 0xfb,
|
0x36, 0x7a, 0xfb, 0x46, 0xf5, 0x44, 0x67, 0xad, 0x7a, 0x96, 0x35, 0x4d, 0xd2, 0xf2, 0x57, 0x9c,
|
||||||
0x85, 0x39, 0x0e, 0x7a, 0x0a, 0xc3, 0x36, 0x55, 0x68, 0xcf, 0x2e, 0xe7, 0x39, 0x62, 0x35, 0x33,
|
0xfd, 0xc2, 0x1c, 0x07, 0x3d, 0x85, 0x61, 0x6a, 0x2b, 0x76, 0x8f, 0x96, 0xf3, 0x1c, 0xb1, 0x9a,
|
||||||
0x22, 0x97, 0xf2, 0x37, 0xc3, 0xf9, 0x8d, 0x05, 0x9a, 0xfc, 0x1f, 0x39, 0x40, 0x1e, 0xef, 0x92,
|
0x19, 0x91, 0x4b, 0xf9, 0x9b, 0xe1, 0xfc, 0xc6, 0x02, 0x4d, 0xfe, 0x8f, 0x1c, 0x20, 0x8f, 0x77,
|
||||||
0xa1, 0xb7, 0x55, 0xaa, 0x1a, 0x3a, 0x7a, 0x00, 0x05, 0xda, 0x37, 0x5d, 0x17, 0xb8, 0xe6, 0x1a,
|
0xc9, 0xd0, 0xdb, 0xaa, 0xad, 0x1a, 0x3a, 0x7a, 0x00, 0x05, 0xbb, 0x6f, 0xba, 0x2e, 0x70, 0xcd,
|
||||||
0xb4, 0xd5, 0x37, 0xc9, 0x8b, 0xa3, 0xca, 0x5c, 0x5c, 0x82, 0x51, 0x30, 0x97, 0x41, 0x6b, 0x9e,
|
0x35, 0x68, 0xab, 0x6f, 0x92, 0x17, 0x47, 0x95, 0xb9, 0xb8, 0x04, 0xa3, 0x60, 0x2e, 0x83, 0xd6,
|
||||||
0xa9, 0x39, 0x2e, 0x7d, 0x27, 0xac, 0xfa, 0xc5, 0x51, 0x25, 0xe1, 0xb0, 0x55, 0x3d, 0xa4, 0xb0,
|
0x3c, 0x53, 0x73, 0x5c, 0xfa, 0x4e, 0x58, 0xf5, 0x8b, 0xa3, 0x4a, 0xc2, 0x61, 0xab, 0x7a, 0x48,
|
||||||
0x81, 0xe8, 0x00, 0x90, 0xa6, 0xd8, 0x74, 0xcb, 0x52, 0x74, 0xdb, 0xd1, 0xa4, 0x76, 0x89, 0x58,
|
0x61, 0x03, 0xd1, 0x01, 0x20, 0x4d, 0xa1, 0xf6, 0x96, 0xa5, 0xe8, 0xd4, 0xd1, 0xa4, 0x76, 0x89,
|
||||||
0x84, 0x37, 0xb3, 0x6d, 0x1a, 0x93, 0xa8, 0x5f, 0x12, 0x56, 0xa0, 0xb5, 0x18, 0x1a, 0x4e, 0xd0,
|
0x58, 0x84, 0x37, 0xb2, 0x6d, 0x1a, 0x93, 0xa8, 0x5f, 0x12, 0x56, 0xa0, 0xb5, 0x18, 0x1a, 0x4e,
|
||||||
0xc0, 0xbc, 0xd9, 0x22, 0x8a, 0x6d, 0xe8, 0xe5, 0x42, 0xd8, 0x9b, 0x31, 0x1f, 0xc5, 0x82, 0x8a,
|
0xd0, 0xc0, 0xbc, 0xd9, 0x22, 0x0a, 0x35, 0xf4, 0x72, 0x21, 0xec, 0xcd, 0x98, 0x8f, 0x62, 0x41,
|
||||||
0xde, 0x80, 0x62, 0x97, 0xd8, 0xb6, 0xd2, 0x21, 0xe5, 0x21, 0xce, 0x38, 0x29, 0x18, 0x8b, 0xeb,
|
0x45, 0xaf, 0x43, 0xb1, 0x4b, 0x28, 0x55, 0x3a, 0xa4, 0x3c, 0xc4, 0x19, 0x27, 0x05, 0x63, 0x71,
|
||||||
0xce, 0x30, 0x76, 0xe9, 0xf2, 0x97, 0x12, 0x8c, 0x7b, 0x2b, 0xb7, 0xa6, 0xda, 0x14, 0xfd, 0x56,
|
0xdd, 0x19, 0xc6, 0x2e, 0x5d, 0xfe, 0x52, 0x82, 0x71, 0x6f, 0xe5, 0xd6, 0x54, 0x6a, 0xa3, 0xdf,
|
||||||
0xcc, 0x0f, 0xab, 0xd9, 0xa6, 0xc4, 0xa4, 0xb9, 0x17, 0x7a, 0x3e, 0xef, 0x8e, 0x04, 0x7c, 0x70,
|
0x8a, 0xf9, 0x61, 0x35, 0xdb, 0x94, 0x98, 0x34, 0xf7, 0x42, 0xcf, 0xe7, 0xdd, 0x91, 0x80, 0x0f,
|
||||||
0x1d, 0x86, 0x54, 0x4a, 0xba, 0x6c, 0x1f, 0xf2, 0xd7, 0x47, 0x6f, 0x5f, 0xcf, 0xea, 0x32, 0xf5,
|
0xae, 0xc3, 0x90, 0x6a, 0x93, 0x2e, 0xdb, 0x87, 0xfc, 0xf5, 0xd1, 0xdb, 0xd7, 0xb3, 0xba, 0x4c,
|
||||||
0x71, 0x01, 0x3a, 0xb4, 0xca, 0xc4, 0xb1, 0x83, 0x22, 0xff, 0x69, 0x21, 0x60, 0x3e, 0x73, 0x4d,
|
0x7d, 0x5c, 0x80, 0x0e, 0xad, 0x32, 0x71, 0xec, 0xa0, 0xc8, 0x7f, 0x5a, 0x08, 0x98, 0xcf, 0x5c,
|
||||||
0xf4, 0x11, 0x94, 0x6c, 0xa2, 0x91, 0x16, 0x35, 0x2c, 0x61, 0xfe, 0xdb, 0x19, 0xcd, 0x57, 0x76,
|
0x13, 0x7d, 0x04, 0x25, 0x4a, 0x34, 0xd2, 0xb2, 0x0d, 0x4b, 0x98, 0xff, 0x56, 0x46, 0xf3, 0x95,
|
||||||
0x88, 0xd6, 0x14, 0xa2, 0xf5, 0x31, 0x66, 0xbf, 0xfb, 0x0b, 0x7b, 0x90, 0xe8, 0x7d, 0x28, 0x51,
|
0x1d, 0xa2, 0x35, 0x85, 0x68, 0x7d, 0x8c, 0xd9, 0xef, 0xfe, 0xc2, 0x1e, 0x24, 0x7a, 0x1f, 0x4a,
|
||||||
0xd2, 0x35, 0x35, 0x85, 0x12, 0x71, 0x8e, 0x5e, 0x0f, 0x4e, 0x81, 0x79, 0x0e, 0x03, 0x6b, 0x18,
|
0x36, 0xe9, 0x9a, 0x9a, 0x62, 0x13, 0x71, 0x8e, 0x5e, 0x0b, 0x4e, 0x81, 0x79, 0x0e, 0x03, 0x6b,
|
||||||
0xed, 0x2d, 0xc1, 0xc6, 0x8f, 0x8f, 0xb7, 0x24, 0xee, 0x28, 0xf6, 0x60, 0xd0, 0x01, 0x4c, 0xf4,
|
0x18, 0xed, 0x2d, 0xc1, 0xc6, 0x8f, 0x8f, 0xb7, 0x24, 0xee, 0x28, 0xf6, 0x60, 0xd0, 0x01, 0x4c,
|
||||||
0xcc, 0x36, 0xe3, 0xa4, 0x2c, 0x0a, 0x76, 0xfa, 0xc2, 0x93, 0xee, 0x65, 0x5d, 0x9b, 0xed, 0x90,
|
0xf4, 0xcc, 0x36, 0xe3, 0xb4, 0x59, 0x14, 0xec, 0xf4, 0x85, 0x27, 0xdd, 0xcb, 0xba, 0x36, 0xdb,
|
||||||
0x74, 0x7d, 0x4e, 0xe8, 0x9a, 0x08, 0x8f, 0xe3, 0x88, 0x16, 0xb4, 0x08, 0x93, 0x5d, 0x55, 0x67,
|
0x21, 0xe9, 0xfa, 0x9c, 0xd0, 0x35, 0x11, 0x1e, 0xc7, 0x11, 0x2d, 0x68, 0x11, 0x26, 0xbb, 0xaa,
|
||||||
0x71, 0xa9, 0xdf, 0x24, 0x2d, 0x43, 0x6f, 0xdb, 0xdc, 0xad, 0x86, 0xea, 0xf3, 0x02, 0x60, 0x72,
|
0xce, 0xe2, 0x52, 0xbf, 0x49, 0x5a, 0x86, 0xde, 0xa6, 0xdc, 0xad, 0x86, 0xea, 0xf3, 0x02, 0x60,
|
||||||
0x3d, 0x4c, 0xc6, 0x51, 0x7e, 0xf4, 0x1e, 0x20, 0x77, 0x1a, 0x8f, 0x9d, 0x20, 0xae, 0x1a, 0x3a,
|
0x72, 0x3d, 0x4c, 0xc6, 0x51, 0x7e, 0xf4, 0x1e, 0x20, 0x77, 0x1a, 0x8f, 0x9d, 0x20, 0xae, 0x1a,
|
||||||
0xf7, 0xb9, 0xbc, 0xef, 0xdc, 0x5b, 0x31, 0x0e, 0x9c, 0x20, 0x85, 0xd6, 0x60, 0xd6, 0x22, 0x07,
|
0x3a, 0xf7, 0xb9, 0xbc, 0xef, 0xdc, 0x5b, 0x31, 0x0e, 0x9c, 0x20, 0x85, 0xd6, 0x60, 0xd6, 0x22,
|
||||||
0x2a, 0x9b, 0xe3, 0x13, 0xd5, 0xa6, 0x86, 0xd5, 0x5f, 0x53, 0xbb, 0x2a, 0x2d, 0x0f, 0x73, 0x9b,
|
0x07, 0x2a, 0x9b, 0xe3, 0x13, 0x95, 0xda, 0x86, 0xd5, 0x5f, 0x53, 0xbb, 0xaa, 0x5d, 0x1e, 0xe6,
|
||||||
0xca, 0xc7, 0x47, 0x95, 0x59, 0x9c, 0x40, 0xc7, 0x89, 0x52, 0xf2, 0x9f, 0x0d, 0xc3, 0x64, 0x24,
|
0x36, 0x95, 0x8f, 0x8f, 0x2a, 0xb3, 0x38, 0x81, 0x8e, 0x13, 0xa5, 0xe4, 0x3f, 0x1b, 0x86, 0xc9,
|
||||||
0xde, 0xa0, 0xa7, 0x30, 0xd7, 0xea, 0x59, 0x16, 0xd1, 0xe9, 0x46, 0xaf, 0xbb, 0x43, 0xac, 0x66,
|
0x48, 0xbc, 0x41, 0x4f, 0x61, 0xae, 0xd5, 0xb3, 0x2c, 0xa2, 0xdb, 0x1b, 0xbd, 0xee, 0x0e, 0xb1,
|
||||||
0x6b, 0x8f, 0xb4, 0x7b, 0x1a, 0x69, 0x73, 0x47, 0x19, 0xaa, 0x2f, 0x08, 0x8b, 0xe7, 0x96, 0x12,
|
0x9a, 0xad, 0x3d, 0xd2, 0xee, 0x69, 0xa4, 0xcd, 0x1d, 0x65, 0xa8, 0xbe, 0x20, 0x2c, 0x9e, 0x5b,
|
||||||
0xb9, 0x70, 0x8a, 0x34, 0x5b, 0x05, 0x9d, 0x0f, 0xad, 0xab, 0xb6, 0xed, 0x61, 0xe6, 0x38, 0xa6,
|
0x4a, 0xe4, 0xc2, 0x29, 0xd2, 0x6c, 0x15, 0x74, 0x3e, 0xb4, 0xae, 0x52, 0xea, 0x61, 0xe6, 0x38,
|
||||||
0xb7, 0x0a, 0x1b, 0x31, 0x0e, 0x9c, 0x20, 0xc5, 0x6c, 0x6c, 0x13, 0x5b, 0xb5, 0x48, 0x3b, 0x6a,
|
0xa6, 0xb7, 0x0a, 0x1b, 0x31, 0x0e, 0x9c, 0x20, 0xc5, 0x6c, 0x6c, 0x13, 0xaa, 0x5a, 0xa4, 0x1d,
|
||||||
0x63, 0x3e, 0x6c, 0xe3, 0x72, 0x22, 0x17, 0x4e, 0x91, 0x46, 0x77, 0x61, 0xd4, 0xd1, 0xc6, 0xf7,
|
0xb5, 0x31, 0x1f, 0xb6, 0x71, 0x39, 0x91, 0x0b, 0xa7, 0x48, 0xa3, 0xbb, 0x30, 0xea, 0x68, 0xe3,
|
||||||
0x4f, 0x6c, 0xf4, 0x8c, 0x00, 0x1b, 0xdd, 0xf0, 0x49, 0x38, 0xc8, 0xc7, 0xa6, 0x66, 0xec, 0xd8,
|
0xfb, 0x27, 0x36, 0x7a, 0x46, 0x80, 0x8d, 0x6e, 0xf8, 0x24, 0x1c, 0xe4, 0x63, 0x53, 0x33, 0x76,
|
||||||
0xc4, 0x3a, 0x20, 0xed, 0xf4, 0x0d, 0xde, 0x8c, 0x71, 0xe0, 0x04, 0x29, 0x36, 0x35, 0xc7, 0x03,
|
0x28, 0xb1, 0x0e, 0x48, 0x3b, 0x7d, 0x83, 0x37, 0x63, 0x1c, 0x38, 0x41, 0x8a, 0x4d, 0xcd, 0xf1,
|
||||||
0x63, 0x53, 0x1b, 0x0e, 0x4f, 0x6d, 0x3b, 0x91, 0x0b, 0xa7, 0x48, 0x33, 0x3f, 0x76, 0x4c, 0x5e,
|
0xc0, 0xd8, 0xd4, 0x86, 0xc3, 0x53, 0xdb, 0x4e, 0xe4, 0xc2, 0x29, 0xd2, 0xcc, 0x8f, 0x1d, 0x93,
|
||||||
0x3c, 0x50, 0x54, 0x4d, 0xd9, 0xd1, 0x48, 0xb9, 0x18, 0xf6, 0xe3, 0x8d, 0x30, 0x19, 0x47, 0xf9,
|
0x17, 0x0f, 0x14, 0x55, 0x53, 0x76, 0x34, 0x52, 0x2e, 0x86, 0xfd, 0x78, 0x23, 0x4c, 0xc6, 0x51,
|
||||||
0xd1, 0x63, 0x98, 0x76, 0x86, 0xb6, 0x75, 0xc5, 0x03, 0x29, 0x71, 0x90, 0x9f, 0x09, 0x90, 0xe9,
|
0x7e, 0xf4, 0x18, 0xa6, 0x9d, 0xa1, 0x6d, 0x5d, 0xf1, 0x40, 0x4a, 0x1c, 0xe4, 0x67, 0x02, 0x64,
|
||||||
0x8d, 0x28, 0x03, 0x8e, 0xcb, 0xa0, 0x07, 0x30, 0xd1, 0x32, 0x34, 0x8d, 0xfb, 0xe3, 0x92, 0xd1,
|
0x7a, 0x23, 0xca, 0x80, 0xe3, 0x32, 0xe8, 0x01, 0x4c, 0xb4, 0x0c, 0x4d, 0xe3, 0xfe, 0xb8, 0x64,
|
||||||
0xd3, 0x69, 0x79, 0x84, 0xa3, 0x20, 0x76, 0x1e, 0x97, 0x42, 0x14, 0x1c, 0xe1, 0x44, 0x04, 0xa0,
|
0xf4, 0x74, 0xbb, 0x3c, 0xc2, 0x51, 0x10, 0x3b, 0x8f, 0x4b, 0x21, 0x0a, 0x8e, 0x70, 0x22, 0x02,
|
||||||
0xe5, 0x26, 0x1c, 0xbb, 0x0c, 0x3c, 0x3e, 0xde, 0xca, 0x1a, 0x03, 0xbc, 0x54, 0xe5, 0xd7, 0x00,
|
0xd0, 0x72, 0x13, 0x0e, 0x2d, 0x03, 0x8f, 0x8f, 0xb7, 0xb2, 0xc6, 0x00, 0x2f, 0x55, 0xf9, 0x35,
|
||||||
0xde, 0x90, 0x8d, 0x03, 0xc0, 0xf2, 0x3f, 0x4b, 0x30, 0x9f, 0x12, 0x3a, 0xd0, 0x3b, 0xa1, 0x14,
|
0x80, 0x37, 0x44, 0x71, 0x00, 0x58, 0xfe, 0x67, 0x09, 0xe6, 0x53, 0x42, 0x07, 0x7a, 0x27, 0x94,
|
||||||
0xfb, 0xab, 0x91, 0x14, 0x7b, 0x39, 0x45, 0x2c, 0x90, 0x67, 0x75, 0x18, 0xb7, 0xd8, 0xac, 0xf4,
|
0x62, 0x7f, 0x35, 0x92, 0x62, 0x2f, 0xa7, 0x88, 0x05, 0xf2, 0xac, 0x0e, 0xe3, 0x16, 0x9b, 0x95,
|
||||||
0x8e, 0xc3, 0x22, 0x62, 0xe4, 0xdd, 0x01, 0xd3, 0xc0, 0x41, 0x19, 0x3f, 0xe6, 0x4f, 0x1f, 0x1f,
|
0xde, 0x71, 0x58, 0x44, 0x8c, 0xbc, 0x3b, 0x60, 0x1a, 0x38, 0x28, 0xe3, 0xc7, 0xfc, 0xe9, 0xe3,
|
||||||
0x55, 0xc6, 0x43, 0x34, 0x1c, 0x86, 0x97, 0xff, 0x3c, 0x07, 0xb0, 0x4c, 0x4c, 0xcd, 0xe8, 0x77,
|
0xa3, 0xca, 0x78, 0x88, 0x86, 0xc3, 0xf0, 0xf2, 0x9f, 0xe7, 0x00, 0x96, 0x89, 0xa9, 0x19, 0xfd,
|
||||||
0x89, 0x7e, 0x1e, 0x35, 0xd4, 0x66, 0xa8, 0x86, 0xba, 0x39, 0x68, 0x7b, 0x3c, 0xd3, 0x52, 0x8b,
|
0x2e, 0xd1, 0xcf, 0xa3, 0x86, 0xda, 0x0c, 0xd5, 0x50, 0x37, 0x07, 0x6d, 0x8f, 0x67, 0x5a, 0x6a,
|
||||||
0xa8, 0xdf, 0x8c, 0x14, 0x51, 0xb5, 0xec, 0x90, 0x27, 0x57, 0x51, 0xff, 0x96, 0x87, 0x19, 0x9f,
|
0x11, 0xf5, 0x9b, 0x91, 0x22, 0xaa, 0x96, 0x1d, 0xf2, 0xe4, 0x2a, 0xea, 0xdf, 0xf2, 0x30, 0xe3,
|
||||||
0xd9, 0x2f, 0xa3, 0x1e, 0x86, 0xf6, 0xf8, 0x57, 0x22, 0x7b, 0x3c, 0x9f, 0x20, 0xf2, 0xca, 0xea,
|
0x33, 0xfb, 0x65, 0xd4, 0xc3, 0xd0, 0x1e, 0xff, 0x4a, 0x64, 0x8f, 0xe7, 0x13, 0x44, 0x5e, 0x59,
|
||||||
0xa8, 0x67, 0x30, 0xc1, 0xaa, 0x1c, 0x67, 0x2f, 0x79, 0x0d, 0x35, 0x7c, 0xea, 0x1a, 0xca, 0xcb,
|
0x1d, 0xf5, 0x0c, 0x26, 0x58, 0x95, 0xe3, 0xec, 0x25, 0xaf, 0xa1, 0x86, 0x4f, 0x5d, 0x43, 0x79,
|
||||||
0x76, 0x6b, 0x21, 0x24, 0x1c, 0x41, 0x4e, 0xa9, 0xd9, 0x8a, 0x3f, 0xc5, 0x9a, 0xed, 0x2b, 0x09,
|
0xd9, 0x6e, 0x2d, 0x84, 0x84, 0x23, 0xc8, 0x29, 0x35, 0x5b, 0xf1, 0xa7, 0x58, 0xb3, 0x7d, 0x25,
|
||||||
0x26, 0xfc, 0x6d, 0x3a, 0x87, 0xa2, 0x6d, 0x23, 0x5c, 0xb4, 0xbd, 0x91, 0xd9, 0x45, 0x53, 0xaa,
|
0xc1, 0x84, 0xbf, 0x4d, 0xe7, 0x50, 0xb4, 0x6d, 0x84, 0x8b, 0xb6, 0xd7, 0x33, 0xbb, 0x68, 0x4a,
|
||||||
0xb6, 0xff, 0x66, 0x05, 0xbe, 0xc7, 0xc4, 0x0e, 0xf8, 0x8e, 0xd2, 0xda, 0x1f, 0x7c, 0xc7, 0x43,
|
0xd5, 0xf6, 0xdf, 0xac, 0xc0, 0xf7, 0x98, 0xd8, 0x01, 0xdf, 0x51, 0x5a, 0xfb, 0x83, 0xef, 0x78,
|
||||||
0x9f, 0x4b, 0x80, 0x44, 0x16, 0x58, 0xd4, 0x75, 0x83, 0x2a, 0x4e, 0xac, 0x74, 0xcc, 0x5a, 0xcd,
|
0xe8, 0x73, 0x09, 0x90, 0xc8, 0x02, 0x8b, 0xba, 0x6e, 0xd8, 0x8a, 0x13, 0x2b, 0x1d, 0xb3, 0x56,
|
||||||
0x6c, 0x96, 0xab, 0xb1, 0xba, 0x1d, 0xc3, 0x7a, 0xa4, 0x53, 0xab, 0xef, 0x6f, 0x72, 0x9c, 0x01,
|
0x33, 0x9b, 0xe5, 0x6a, 0xac, 0x6e, 0xc7, 0xb0, 0x1e, 0xe9, 0xb6, 0xd5, 0xf7, 0x37, 0x39, 0xce,
|
||||||
0x27, 0x18, 0x80, 0x14, 0x00, 0x4b, 0x60, 0x6e, 0x19, 0xe2, 0x20, 0xdf, 0xcc, 0x10, 0xf3, 0x98,
|
0x80, 0x13, 0x0c, 0x40, 0x0a, 0x80, 0x25, 0x30, 0xb7, 0x0c, 0x71, 0x90, 0x6f, 0x66, 0x88, 0x79,
|
||||||
0xc0, 0x92, 0xa1, 0xef, 0xaa, 0x1d, 0x3f, 0xec, 0x60, 0x0f, 0x08, 0x07, 0x40, 0x2f, 0x3d, 0x82,
|
0x4c, 0x60, 0xc9, 0xd0, 0x77, 0xd5, 0x8e, 0x1f, 0x76, 0xb0, 0x07, 0x84, 0x03, 0xa0, 0x97, 0x1e,
|
||||||
0xf9, 0x14, 0x6b, 0xd1, 0x14, 0xe4, 0xf7, 0x49, 0xdf, 0x59, 0x36, 0xcc, 0xfe, 0x44, 0xb3, 0x30,
|
0xc1, 0x7c, 0x8a, 0xb5, 0x68, 0x0a, 0xf2, 0xfb, 0xa4, 0xef, 0x2c, 0x1b, 0x66, 0x7f, 0xa2, 0x59,
|
||||||
0x74, 0xa0, 0x68, 0x3d, 0x27, 0xfc, 0x8e, 0x60, 0xe7, 0xc7, 0x83, 0xdc, 0x7d, 0x49, 0xfe, 0x72,
|
0x18, 0x3a, 0x50, 0xb4, 0x9e, 0x13, 0x7e, 0x47, 0xb0, 0xf3, 0xe3, 0x41, 0xee, 0xbe, 0x24, 0x7f,
|
||||||
0x28, 0xe8, 0x3b, 0xbc, 0x62, 0xbe, 0xce, 0x2e, 0xad, 0xa6, 0xa6, 0xb6, 0x14, 0x5b, 0x14, 0x42,
|
0x39, 0x14, 0xf4, 0x1d, 0x5e, 0x31, 0x5f, 0x67, 0x97, 0x56, 0x53, 0x53, 0x5b, 0x0a, 0x15, 0x85,
|
||||||
0x63, 0xce, 0x85, 0xd5, 0x19, 0xc3, 0x1e, 0x35, 0x54, 0x5b, 0xe7, 0x5e, 0x6d, 0x6d, 0x9d, 0x7f,
|
0xd0, 0x98, 0x73, 0x61, 0x75, 0xc6, 0xb0, 0x47, 0x0d, 0xd5, 0xd6, 0xb9, 0x57, 0x5b, 0x5b, 0xe7,
|
||||||
0x39, 0xb5, 0xf5, 0x6f, 0x43, 0xc9, 0x76, 0xab, 0xea, 0x02, 0x87, 0xbc, 0x75, 0x8a, 0xf8, 0x2a,
|
0x5f, 0x4e, 0x6d, 0xfd, 0xdb, 0x50, 0xa2, 0x6e, 0x55, 0x5d, 0xe0, 0x90, 0xb7, 0x4e, 0x11, 0x5f,
|
||||||
0x0a, 0x6a, 0x4f, 0x81, 0x57, 0x4a, 0x7b, 0xa0, 0x49, 0x45, 0xf4, 0xd0, 0x29, 0x8b, 0xe8, 0x97,
|
0x45, 0x41, 0xed, 0x29, 0xf0, 0x4a, 0x69, 0x0f, 0x34, 0xa9, 0x88, 0x1e, 0x3a, 0x65, 0x11, 0xfd,
|
||||||
0x5a, 0xf8, 0xb2, 0x78, 0x63, 0x2a, 0x3d, 0x9b, 0xb4, 0x79, 0x6c, 0x2b, 0xf9, 0xf1, 0xa6, 0xc1,
|
0x52, 0x0b, 0x5f, 0x16, 0x6f, 0x4c, 0xa5, 0x47, 0x49, 0x9b, 0xc7, 0xb6, 0x92, 0x1f, 0x6f, 0x1a,
|
||||||
0x47, 0xb1, 0xa0, 0xa2, 0x8f, 0x42, 0x2e, 0x5b, 0x3a, 0x8b, 0xcb, 0x4e, 0xa4, 0xbb, 0x2b, 0xda,
|
0x7c, 0x14, 0x0b, 0x2a, 0xfa, 0x28, 0xe4, 0xb2, 0xa5, 0xb3, 0xb8, 0xec, 0x44, 0xba, 0xbb, 0xa2,
|
||||||
0x86, 0x79, 0xd3, 0x32, 0x3a, 0x16, 0xb1, 0xed, 0x65, 0xa2, 0xb4, 0x35, 0x55, 0x27, 0xee, 0xfa,
|
0x6d, 0x98, 0x37, 0x2d, 0xa3, 0x63, 0x11, 0x4a, 0x97, 0x89, 0xd2, 0xd6, 0x54, 0x9d, 0xb8, 0xeb,
|
||||||
0x38, 0x15, 0xd1, 0xe5, 0xe3, 0xa3, 0xca, 0x7c, 0x23, 0x99, 0x05, 0xa7, 0xc9, 0xca, 0xcf, 0x0b,
|
0xe3, 0x54, 0x44, 0x97, 0x8f, 0x8f, 0x2a, 0xf3, 0x8d, 0x64, 0x16, 0x9c, 0x26, 0x2b, 0x3f, 0x2f,
|
||||||
0x30, 0x15, 0xcd, 0x80, 0x29, 0x45, 0xaa, 0x74, 0xa6, 0x22, 0xf5, 0x46, 0xe0, 0x30, 0x38, 0x15,
|
0xc0, 0x54, 0x34, 0x03, 0xa6, 0x14, 0xa9, 0xd2, 0x99, 0x8a, 0xd4, 0x1b, 0x81, 0xc3, 0xe0, 0x54,
|
||||||
0x7c, 0xe0, 0x05, 0x27, 0x76, 0x20, 0x16, 0x61, 0x52, 0x44, 0x03, 0x97, 0x28, 0xca, 0x74, 0x6f,
|
0xf0, 0x81, 0x17, 0x9c, 0xd8, 0x81, 0x58, 0x84, 0x49, 0x11, 0x0d, 0x5c, 0xa2, 0x28, 0xd3, 0xbd,
|
||||||
0xf7, 0xb7, 0xc3, 0x64, 0x1c, 0xe5, 0x47, 0x0f, 0x61, 0xdc, 0xe2, 0x75, 0xb7, 0x0b, 0xe0, 0xd4,
|
0xdd, 0xdf, 0x0e, 0x93, 0x71, 0x94, 0x1f, 0x3d, 0x84, 0x71, 0x8b, 0xd7, 0xdd, 0x2e, 0x80, 0x53,
|
||||||
0xae, 0x17, 0x05, 0xc0, 0x38, 0x0e, 0x12, 0x71, 0x98, 0x97, 0xd5, 0xad, 0x7e, 0x39, 0xea, 0x02,
|
0xbb, 0x5e, 0x14, 0x00, 0xe3, 0x38, 0x48, 0xc4, 0x61, 0x5e, 0x56, 0xb7, 0xfa, 0xe5, 0xa8, 0x0b,
|
||||||
0x14, 0xc2, 0x75, 0xeb, 0x62, 0x94, 0x01, 0xc7, 0x65, 0xd0, 0x3a, 0xcc, 0xf4, 0xf4, 0x38, 0x94,
|
0x50, 0x08, 0xd7, 0xad, 0x8b, 0x51, 0x06, 0x1c, 0x97, 0x41, 0xeb, 0x30, 0xd3, 0xd3, 0xe3, 0x50,
|
||||||
0xe3, 0xca, 0x97, 0x05, 0xd4, 0xcc, 0x76, 0x9c, 0x05, 0x27, 0xc9, 0xa1, 0xdd, 0x50, 0x29, 0x3b,
|
0x8e, 0x2b, 0x5f, 0x16, 0x50, 0x33, 0xdb, 0x71, 0x16, 0x9c, 0x24, 0x87, 0x76, 0x43, 0xa5, 0xec,
|
||||||
0xcc, 0xc3, 0xf3, 0xed, 0xcc, 0x07, 0x2f, 0x73, 0x2d, 0x9b, 0x50, 0x6e, 0x97, 0xb2, 0x96, 0xdb,
|
0x30, 0x0f, 0xcf, 0xb7, 0x33, 0x1f, 0xbc, 0xcc, 0xb5, 0x6c, 0x42, 0xb9, 0x5d, 0xca, 0x5a, 0x6e,
|
||||||
0xf2, 0x3f, 0x4a, 0xc1, 0x24, 0xe4, 0x95, 0xc0, 0x83, 0x5e, 0x99, 0x62, 0x12, 0x81, 0xea, 0xc8,
|
0xcb, 0xff, 0x28, 0x05, 0x93, 0x90, 0x57, 0x02, 0x0f, 0x7a, 0x65, 0x8a, 0x49, 0x04, 0xaa, 0x23,
|
||||||
0x48, 0xae, 0x7e, 0xef, 0x9d, 0xaa, 0xfa, 0xf5, 0x93, 0xe7, 0xe0, 0xf2, 0xf7, 0x0b, 0x09, 0xe6,
|
0x23, 0xb9, 0xfa, 0xbd, 0x77, 0xaa, 0xea, 0xd7, 0x4f, 0x9e, 0x83, 0xcb, 0xdf, 0x2f, 0x24, 0x98,
|
||||||
0x56, 0x9a, 0x8f, 0x2d, 0xa3, 0x67, 0xba, 0xe6, 0x6c, 0x9a, 0xce, 0xd2, 0xfc, 0x02, 0x0a, 0x56,
|
0x5b, 0x69, 0x3e, 0xb6, 0x8c, 0x9e, 0xe9, 0x9a, 0xb3, 0x69, 0x3a, 0x4b, 0xf3, 0x4b, 0x28, 0x58,
|
||||||
0x4f, 0x73, 0xe7, 0xf1, 0xba, 0x3b, 0x0f, 0xdc, 0xd3, 0xd8, 0x3c, 0x66, 0x22, 0x52, 0xce, 0x24,
|
0x3d, 0xcd, 0x9d, 0xc7, 0x6b, 0xee, 0x3c, 0x70, 0x4f, 0x63, 0xf3, 0x98, 0x89, 0x48, 0x39, 0x93,
|
||||||
0x98, 0x00, 0xda, 0x80, 0x61, 0x4b, 0xd1, 0x3b, 0xc4, 0x4d, 0xab, 0xd7, 0x06, 0x58, 0xbf, 0xba,
|
0x60, 0x02, 0x68, 0x03, 0x86, 0x2d, 0x45, 0xef, 0x10, 0x37, 0xad, 0x5e, 0x1b, 0x60, 0xfd, 0xea,
|
||||||
0x8c, 0x19, 0x7b, 0xa0, 0xb0, 0xe1, 0xd2, 0x58, 0xa0, 0xc8, 0x7f, 0x24, 0xc1, 0xe4, 0x93, 0xad,
|
0x32, 0x66, 0xec, 0x81, 0xc2, 0x86, 0x4b, 0x63, 0x81, 0x22, 0xff, 0x91, 0x04, 0x93, 0x4f, 0xb6,
|
||||||
0xad, 0xc6, 0xaa, 0xce, 0x4f, 0x34, 0x7f, 0x5b, 0xbd, 0x0a, 0x05, 0x53, 0xa1, 0x7b, 0xd1, 0x4c,
|
0xb6, 0x1a, 0xab, 0x3a, 0x3f, 0xd1, 0xfc, 0x6d, 0xf5, 0x2a, 0x14, 0x4c, 0xc5, 0xde, 0x8b, 0x66,
|
||||||
0xcf, 0x68, 0x98, 0x53, 0xd0, 0x07, 0x50, 0x64, 0x91, 0x84, 0xe8, 0xed, 0x8c, 0xa5, 0xb6, 0x80,
|
0x7a, 0x46, 0xc3, 0x9c, 0x82, 0x3e, 0x80, 0x22, 0x8b, 0x24, 0x44, 0x6f, 0x67, 0x2c, 0xb5, 0x05,
|
||||||
0xaf, 0x3b, 0x42, 0x7e, 0xf5, 0x24, 0x06, 0xb0, 0x0b, 0x27, 0xef, 0xc3, 0x6c, 0xc0, 0x1c, 0xb6,
|
0x7c, 0xdd, 0x11, 0xf2, 0xab, 0x27, 0x31, 0x80, 0x5d, 0x38, 0x79, 0x1f, 0x66, 0x03, 0xe6, 0xb0,
|
||||||
0x1e, 0x4f, 0x59, 0x76, 0x44, 0x4d, 0x18, 0x62, 0x9a, 0x59, 0x0e, 0xcc, 0x67, 0x78, 0xcc, 0x8c,
|
0xf5, 0x78, 0xca, 0xb2, 0x23, 0x6a, 0xc2, 0x10, 0xd3, 0xcc, 0x72, 0x60, 0x3e, 0xc3, 0x63, 0x66,
|
||||||
0x4c, 0xc9, 0xaf, 0x74, 0xd8, 0x2f, 0x1b, 0x3b, 0x58, 0xf2, 0x3a, 0x8c, 0xf3, 0x07, 0x65, 0xc3,
|
0x64, 0x4a, 0x7e, 0xa5, 0xc3, 0x7e, 0x51, 0xec, 0x60, 0xc9, 0xeb, 0x30, 0xce, 0x1f, 0x94, 0x0d,
|
||||||
0xa2, 0x7c, 0x59, 0xd0, 0x15, 0xc8, 0x77, 0x55, 0x5d, 0xe4, 0xd9, 0x51, 0x21, 0x93, 0x67, 0x39,
|
0xcb, 0xe6, 0xcb, 0x82, 0xae, 0x40, 0xbe, 0xab, 0xea, 0x22, 0xcf, 0x8e, 0x0a, 0x99, 0x3c, 0xcb,
|
||||||
0x82, 0x8d, 0x73, 0xb2, 0x72, 0x28, 0x22, 0x8f, 0x4f, 0x56, 0x0e, 0x31, 0x1b, 0x97, 0x1f, 0x43,
|
0x11, 0x6c, 0x9c, 0x93, 0x95, 0x43, 0x11, 0x79, 0x7c, 0xb2, 0x72, 0x88, 0xd9, 0xb8, 0xfc, 0x18,
|
||||||
0x51, 0x2c, 0x77, 0x10, 0x28, 0x7f, 0x32, 0x50, 0x3e, 0x01, 0x68, 0x13, 0x8a, 0xab, 0x8d, 0xba,
|
0x8a, 0x62, 0xb9, 0x83, 0x40, 0xf9, 0x93, 0x81, 0xf2, 0x09, 0x40, 0x9b, 0x50, 0x5c, 0x6d, 0xd4,
|
||||||
0x66, 0x38, 0x55, 0x57, 0x4b, 0x6d, 0x5b, 0xd1, 0xbd, 0x58, 0x5a, 0x5d, 0xc6, 0x98, 0x53, 0x90,
|
0x35, 0xc3, 0xa9, 0xba, 0x5a, 0x6a, 0xdb, 0x8a, 0xee, 0xc5, 0xd2, 0xea, 0x32, 0xc6, 0x9c, 0x82,
|
||||||
0x0c, 0xc3, 0xe4, 0xb0, 0x45, 0x4c, 0xca, 0x3d, 0x62, 0xa4, 0x0e, 0x6c, 0x97, 0x1f, 0xf1, 0x11,
|
0x64, 0x18, 0x26, 0x87, 0x2d, 0x62, 0xda, 0xdc, 0x23, 0x46, 0xea, 0xc0, 0x76, 0xf9, 0x11, 0x1f,
|
||||||
0x2c, 0x28, 0xf2, 0x1f, 0xe7, 0xa0, 0x28, 0x96, 0xe3, 0x1c, 0x6e, 0x61, 0x6b, 0xa1, 0x5b, 0xd8,
|
0xc1, 0x82, 0x22, 0xff, 0x71, 0x0e, 0x8a, 0x62, 0x39, 0xce, 0xe1, 0x16, 0xb6, 0x16, 0xba, 0x85,
|
||||||
0x9b, 0xd9, 0x5c, 0x23, 0xf5, 0x0a, 0xb6, 0x15, 0xb9, 0x82, 0xdd, 0xc8, 0x88, 0x77, 0xf2, 0xfd,
|
0xbd, 0x91, 0xcd, 0x35, 0x52, 0xaf, 0x60, 0x5b, 0x91, 0x2b, 0xd8, 0x8d, 0x8c, 0x78, 0x27, 0xdf,
|
||||||
0xeb, 0xef, 0x24, 0x98, 0x08, 0x3b, 0x25, 0xba, 0x0b, 0xa3, 0x2c, 0xe1, 0xa8, 0x2d, 0xb2, 0xe1,
|
0xbf, 0xfe, 0x4e, 0x82, 0x89, 0xb0, 0x53, 0xa2, 0xbb, 0x30, 0xca, 0x12, 0x8e, 0xda, 0x22, 0x1b,
|
||||||
0xd7, 0xb9, 0xde, 0x23, 0x4c, 0xd3, 0x27, 0xe1, 0x20, 0x1f, 0xea, 0x78, 0x62, 0xcc, 0x8f, 0xc4,
|
0x7e, 0x9d, 0xeb, 0x3d, 0xc2, 0x34, 0x7d, 0x12, 0x0e, 0xf2, 0xa1, 0x8e, 0x27, 0xc6, 0xfc, 0x48,
|
||||||
0xa4, 0xd3, 0x97, 0xb4, 0x47, 0x55, 0xad, 0xea, 0x7c, 0x5a, 0xa9, 0xae, 0xea, 0x74, 0xd3, 0x6a,
|
0x4c, 0x3a, 0x7d, 0x49, 0x7b, 0xb6, 0xaa, 0x55, 0x9d, 0x4f, 0x2b, 0xd5, 0x55, 0xdd, 0xde, 0xb4,
|
||||||
0x52, 0x4b, 0xd5, 0x3b, 0x31, 0x45, 0xdc, 0x29, 0x83, 0xc8, 0xf2, 0x3f, 0x48, 0x30, 0x2a, 0x4c,
|
0x9a, 0xb6, 0xa5, 0xea, 0x9d, 0x98, 0x22, 0xee, 0x94, 0x41, 0x64, 0xf9, 0x1f, 0x24, 0x18, 0x15,
|
||||||
0x3e, 0x87, 0x5b, 0xc5, 0x6f, 0x84, 0x6f, 0x15, 0xd7, 0x32, 0x1e, 0xf0, 0xe4, 0x2b, 0xc5, 0x5f,
|
0x26, 0x9f, 0xc3, 0xad, 0xe2, 0x37, 0xc2, 0xb7, 0x8a, 0x6b, 0x19, 0x0f, 0x78, 0xf2, 0x95, 0xe2,
|
||||||
0xf9, 0xa6, 0xb3, 0x23, 0xcd, 0xbc, 0x7a, 0xcf, 0xb0, 0x69, 0xd4, 0xab, 0xd9, 0x61, 0xc4, 0x9c,
|
0xaf, 0x7c, 0xd3, 0xd9, 0x91, 0x66, 0x5e, 0xbd, 0x67, 0x50, 0x3b, 0xea, 0xd5, 0xec, 0x30, 0x62,
|
||||||
0x82, 0x7a, 0x30, 0xa5, 0x46, 0x62, 0x80, 0x58, 0xda, 0x5a, 0x36, 0x4b, 0x3c, 0xb1, 0x7a, 0x59,
|
0x4e, 0x41, 0x3d, 0x98, 0x52, 0x23, 0x31, 0x40, 0x2c, 0x6d, 0x2d, 0x9b, 0x25, 0x9e, 0x58, 0xbd,
|
||||||
0xc0, 0x4f, 0x45, 0x29, 0x38, 0xa6, 0x42, 0x26, 0x10, 0xe3, 0x42, 0xef, 0x43, 0x61, 0x8f, 0x52,
|
0x2c, 0xe0, 0xa7, 0xa2, 0x14, 0x1c, 0x53, 0x21, 0x13, 0x88, 0x71, 0xa1, 0xf7, 0xa1, 0xb0, 0x67,
|
||||||
0x33, 0xe1, 0xbd, 0x7a, 0x40, 0xe4, 0xf1, 0x4d, 0x28, 0xf1, 0xd9, 0x6d, 0x6d, 0x35, 0x30, 0x87,
|
0xdb, 0x66, 0xc2, 0x7b, 0xf5, 0x80, 0xc8, 0xe3, 0x9b, 0x50, 0xe2, 0xb3, 0xdb, 0xda, 0x6a, 0x60,
|
||||||
0x92, 0xff, 0xc7, 0x5f, 0x8f, 0xa6, 0xe3, 0xe3, 0x5e, 0x3c, 0x95, 0xce, 0x12, 0x4f, 0x47, 0x93,
|
0x0e, 0x25, 0xff, 0x8f, 0xbf, 0x1e, 0x4d, 0xc7, 0xc7, 0xbd, 0x78, 0x2a, 0x9d, 0x25, 0x9e, 0x8e,
|
||||||
0x62, 0x29, 0x7a, 0x02, 0x79, 0xaa, 0x65, 0xbd, 0x16, 0x0a, 0xc4, 0xad, 0xb5, 0xa6, 0x1f, 0x90,
|
0x26, 0xc5, 0x52, 0xf4, 0x04, 0xf2, 0xb6, 0x96, 0xf5, 0x5a, 0x28, 0x10, 0xb7, 0xd6, 0x9a, 0x7e,
|
||||||
0xb6, 0xd6, 0x9a, 0x98, 0x41, 0xa0, 0x4d, 0x18, 0x62, 0xd9, 0x87, 0x1d, 0xc1, 0x7c, 0xf6, 0x23,
|
0x40, 0xda, 0x5a, 0x6b, 0x62, 0x06, 0x81, 0x36, 0x61, 0x88, 0x65, 0x1f, 0x76, 0x04, 0xf3, 0xd9,
|
||||||
0xcd, 0xe6, 0xef, 0x3b, 0x04, 0xfb, 0x65, 0x63, 0x07, 0x47, 0xfe, 0x14, 0xc6, 0x43, 0xe7, 0x14,
|
0x8f, 0x34, 0x9b, 0xbf, 0xef, 0x10, 0xec, 0x17, 0xc5, 0x0e, 0x8e, 0xfc, 0x29, 0x8c, 0x87, 0xce,
|
||||||
0x7d, 0x02, 0x63, 0x9a, 0xa1, 0xb4, 0xeb, 0x8a, 0xa6, 0xe8, 0x2d, 0xe2, 0x7e, 0x1c, 0xb8, 0x96,
|
0x29, 0xfa, 0x04, 0xc6, 0x34, 0x43, 0x69, 0xd7, 0x15, 0x4d, 0xd1, 0x5b, 0xc4, 0xfd, 0x38, 0x70,
|
||||||
0x74, 0xc3, 0x58, 0x0b, 0xf0, 0x89, 0x53, 0x3e, 0x2b, 0x94, 0x8c, 0x05, 0x69, 0x38, 0x84, 0x28,
|
0x2d, 0xe9, 0x86, 0xb1, 0x16, 0xe0, 0x13, 0xa7, 0x7c, 0x56, 0x28, 0x19, 0x0b, 0xd2, 0x70, 0x08,
|
||||||
0x2b, 0x00, 0xfe, 0x1c, 0x51, 0x05, 0x86, 0x98, 0x9f, 0x39, 0xf9, 0x64, 0xa4, 0x3e, 0xc2, 0x2c,
|
0x51, 0x56, 0x00, 0xfc, 0x39, 0xa2, 0x0a, 0x0c, 0x31, 0x3f, 0x73, 0xf2, 0xc9, 0x48, 0x7d, 0x84,
|
||||||
0x64, 0xee, 0x67, 0x63, 0x67, 0x1c, 0xdd, 0x06, 0xb0, 0x49, 0xcb, 0x22, 0x94, 0x07, 0x83, 0x5c,
|
0x59, 0xc8, 0xdc, 0x8f, 0x62, 0x67, 0x1c, 0xdd, 0x06, 0xa0, 0xa4, 0x65, 0x11, 0x9b, 0x07, 0x83,
|
||||||
0xf8, 0x03, 0x63, 0xd3, 0xa3, 0xe0, 0x00, 0x97, 0xfc, 0x4f, 0x12, 0x8c, 0x6f, 0x10, 0xfa, 0x99,
|
0x5c, 0xf8, 0x03, 0x63, 0xd3, 0xa3, 0xe0, 0x00, 0x97, 0xfc, 0x4f, 0x12, 0x8c, 0x6f, 0x10, 0xfb,
|
||||||
0x61, 0xed, 0x37, 0x0c, 0x4d, 0x6d, 0xf5, 0xcf, 0x21, 0xd8, 0xe2, 0x50, 0xb0, 0x7d, 0x6b, 0xc0,
|
0x33, 0xc3, 0xda, 0x6f, 0x18, 0x9a, 0xda, 0xea, 0x9f, 0x43, 0xb0, 0xc5, 0xa1, 0x60, 0xfb, 0xe6,
|
||||||
0xce, 0x84, 0xac, 0x4b, 0x0b, 0xb9, 0xf2, 0x57, 0x12, 0xcc, 0x87, 0x38, 0x1f, 0xf9, 0x47, 0x77,
|
0x80, 0x9d, 0x09, 0x59, 0x97, 0x16, 0x72, 0xe5, 0xaf, 0x24, 0x98, 0x0f, 0x71, 0x3e, 0xf2, 0x8f,
|
||||||
0x1b, 0x86, 0x4c, 0xc3, 0xa2, 0x6e, 0x22, 0x3e, 0x95, 0x42, 0x16, 0xc6, 0x02, 0xa9, 0x98, 0xc1,
|
0xee, 0x36, 0x0c, 0x99, 0x86, 0x65, 0xbb, 0x89, 0xf8, 0x54, 0x0a, 0x59, 0x18, 0x0b, 0xa4, 0x62,
|
||||||
0x60, 0x07, 0x0d, 0xad, 0x41, 0x8e, 0x1a, 0xc2, 0x55, 0x4f, 0x87, 0x49, 0x88, 0x55, 0x07, 0x81,
|
0x06, 0x83, 0x1d, 0x34, 0xb4, 0x06, 0x39, 0xdb, 0x10, 0xae, 0x7a, 0x3a, 0x4c, 0x42, 0xac, 0x3a,
|
||||||
0x99, 0xdb, 0x32, 0x70, 0x8e, 0x1a, 0x6c, 0x23, 0xca, 0x21, 0xae, 0x60, 0xf0, 0x79, 0x45, 0x33,
|
0x08, 0xcc, 0xdc, 0x96, 0x81, 0x73, 0xb6, 0xc1, 0x36, 0xa2, 0x1c, 0xe2, 0x0a, 0x06, 0x9f, 0x57,
|
||||||
0xc0, 0x50, 0xd8, 0xb5, 0x8c, 0xee, 0x99, 0xe7, 0xe0, 0x6d, 0xc4, 0x8a, 0x65, 0x74, 0x31, 0xc7,
|
0x34, 0x03, 0x0c, 0x85, 0x5d, 0xcb, 0xe8, 0x9e, 0x79, 0x0e, 0xde, 0x46, 0xac, 0x58, 0x46, 0x17,
|
||||||
0x92, 0xbf, 0x96, 0x60, 0x3a, 0xc4, 0x79, 0x0e, 0x81, 0xff, 0xfd, 0x70, 0xe0, 0xbf, 0x71, 0x9a,
|
0x73, 0x2c, 0xf9, 0x6b, 0x09, 0xa6, 0x43, 0x9c, 0xe7, 0x10, 0xf8, 0xdf, 0x0f, 0x07, 0xfe, 0x1b,
|
||||||
0x89, 0xa4, 0x84, 0xff, 0xaf, 0x73, 0x91, 0x69, 0xb0, 0x09, 0xa3, 0x5d, 0x18, 0x35, 0x8d, 0x76,
|
0xa7, 0x99, 0x48, 0x4a, 0xf8, 0xff, 0x3a, 0x17, 0x99, 0x06, 0x9b, 0x30, 0xda, 0x85, 0x51, 0xd3,
|
||||||
0xf3, 0x25, 0x7c, 0x0e, 0x9c, 0x64, 0x79, 0xb3, 0xe1, 0x63, 0xe1, 0x20, 0x30, 0x3a, 0x84, 0x69,
|
0x68, 0x37, 0x5f, 0xc2, 0xe7, 0xc0, 0x49, 0x96, 0x37, 0x1b, 0x3e, 0x16, 0x0e, 0x02, 0xa3, 0x43,
|
||||||
0x5d, 0xe9, 0x12, 0xdb, 0x54, 0x5a, 0xa4, 0xf9, 0x12, 0x1e, 0x48, 0x2e, 0xf2, 0xef, 0x0d, 0x51,
|
0x98, 0xd6, 0x95, 0x2e, 0xa1, 0xa6, 0xd2, 0x22, 0xcd, 0x97, 0xf0, 0x40, 0x72, 0x91, 0x7f, 0x6f,
|
||||||
0x44, 0x1c, 0x57, 0x82, 0xd6, 0xa1, 0xa8, 0x9a, 0xbc, 0x8e, 0x13, 0xb5, 0xcb, 0xc0, 0x2c, 0xea,
|
0x88, 0x22, 0xe2, 0xb8, 0x12, 0xb4, 0x0e, 0x45, 0xd5, 0xe4, 0x75, 0x9c, 0xa8, 0x5d, 0x06, 0x66,
|
||||||
0x54, 0x7d, 0x4e, 0x3c, 0x17, 0x3f, 0xb0, 0x8b, 0x21, 0xff, 0x75, 0xd4, 0x1b, 0x98, 0xff, 0xa1,
|
0x51, 0xa7, 0xea, 0x73, 0xe2, 0xb9, 0xf8, 0x81, 0x5d, 0x0c, 0xf9, 0xaf, 0xa3, 0xde, 0xc0, 0xfc,
|
||||||
0xc7, 0x50, 0xe2, 0x8d, 0x19, 0x2d, 0x43, 0x73, 0xbf, 0x0c, 0xb0, 0x9d, 0x6d, 0x88, 0xb1, 0x17,
|
0x0f, 0x3d, 0x86, 0x12, 0x6f, 0xcc, 0x68, 0x19, 0x9a, 0xfb, 0x65, 0x80, 0xed, 0x6c, 0x43, 0x8c,
|
||||||
0x47, 0x95, 0xcb, 0x09, 0x8f, 0xbe, 0x2e, 0x19, 0x7b, 0xc2, 0x68, 0x03, 0x0a, 0xe6, 0x8f, 0xa9,
|
0xbd, 0x38, 0xaa, 0x5c, 0x4e, 0x78, 0xf4, 0x75, 0xc9, 0xd8, 0x13, 0x46, 0x1b, 0x50, 0x30, 0x7f,
|
||||||
0x60, 0x78, 0x92, 0xe3, 0x65, 0x0b, 0xc7, 0x91, 0x7f, 0x2f, 0x1f, 0x31, 0x97, 0xa7, 0xba, 0x67,
|
0x4c, 0x05, 0xc3, 0x93, 0x1c, 0x2f, 0x5b, 0x38, 0x8e, 0xfc, 0x7b, 0xf9, 0x88, 0xb9, 0x3c, 0xd5,
|
||||||
0x2f, 0x6d, 0xd7, 0xbd, 0x8a, 0x29, 0x75, 0xe7, 0x77, 0xa0, 0x28, 0x32, 0xbc, 0x70, 0xe6, 0x5f,
|
0x3d, 0x7b, 0x69, 0xbb, 0xee, 0x55, 0x4c, 0xa9, 0x3b, 0xbf, 0x03, 0x45, 0x91, 0xe1, 0x85, 0x33,
|
||||||
0x9c, 0xc6, 0x99, 0x83, 0x59, 0xcc, 0xbb, 0xb0, 0xb8, 0x83, 0x2e, 0x30, 0xfa, 0x18, 0x86, 0x89,
|
0xff, 0xf2, 0x34, 0xce, 0x1c, 0xcc, 0x62, 0xde, 0x85, 0xc5, 0x1d, 0x74, 0x81, 0xd1, 0xc7, 0x30,
|
||||||
0xa3, 0xc2, 0xc9, 0x8d, 0xf7, 0x4e, 0xa3, 0xc2, 0x8f, 0xab, 0x7e, 0xa1, 0x2a, 0xc6, 0x04, 0x2a,
|
0x4c, 0x1c, 0x15, 0x4e, 0x6e, 0xbc, 0x77, 0x1a, 0x15, 0x7e, 0x5c, 0xf5, 0x0b, 0x55, 0x31, 0x26,
|
||||||
0x7a, 0x87, 0xad, 0x17, 0xe3, 0x65, 0x97, 0x40, 0xbb, 0x5c, 0xe0, 0xe9, 0xea, 0x8a, 0x33, 0x6d,
|
0x50, 0xd1, 0x3b, 0x6c, 0xbd, 0x18, 0x2f, 0xbb, 0x04, 0xd2, 0x72, 0x81, 0xa7, 0xab, 0x2b, 0xce,
|
||||||
0x6f, 0xf8, 0xc5, 0x51, 0x05, 0xfc, 0x9f, 0x38, 0x28, 0x21, 0xff, 0x8b, 0x04, 0xd3, 0x7c, 0x85,
|
0xb4, 0xbd, 0xe1, 0x17, 0x47, 0x15, 0xf0, 0x7f, 0xe2, 0xa0, 0x84, 0xfc, 0x2f, 0x12, 0x4c, 0xf3,
|
||||||
0x5a, 0x3d, 0x4b, 0xa5, 0xfd, 0x73, 0x4b, 0x4c, 0x4f, 0x43, 0x89, 0xe9, 0xce, 0x80, 0x65, 0x89,
|
0x15, 0x6a, 0xf5, 0x2c, 0xd5, 0xee, 0x9f, 0x5b, 0x62, 0x7a, 0x1a, 0x4a, 0x4c, 0x77, 0x06, 0x2c,
|
||||||
0x59, 0x98, 0x9a, 0x9c, 0xbe, 0x91, 0xe0, 0x62, 0x8c, 0xfb, 0x1c, 0xe2, 0xe2, 0x76, 0x38, 0x2e,
|
0x4b, 0xcc, 0xc2, 0xd4, 0xe4, 0xf4, 0x8d, 0x04, 0x17, 0x63, 0xdc, 0xe7, 0x10, 0x17, 0xb7, 0xc3,
|
||||||
0xbe, 0x75, 0xda, 0x09, 0xa5, 0xc4, 0xc6, 0xff, 0x9a, 0x4e, 0x98, 0x0e, 0x3f, 0x29, 0xb7, 0x01,
|
0x71, 0xf1, 0xcd, 0xd3, 0x4e, 0x28, 0x25, 0x36, 0xfe, 0xd7, 0x74, 0xc2, 0x74, 0xf8, 0x49, 0xb9,
|
||||||
0x4c, 0x4b, 0x3d, 0x50, 0x35, 0xd2, 0x11, 0x1f, 0xc1, 0x4b, 0x81, 0x16, 0x27, 0x8f, 0x82, 0x03,
|
0x0d, 0x60, 0x5a, 0xea, 0x81, 0xaa, 0x91, 0x8e, 0xf8, 0x08, 0x5e, 0x0a, 0xb4, 0x38, 0x79, 0x14,
|
||||||
0x5c, 0xc8, 0x86, 0xb9, 0x36, 0xd9, 0x55, 0x7a, 0x1a, 0x5d, 0x6c, 0xb7, 0x97, 0x14, 0x53, 0xd9,
|
0x1c, 0xe0, 0x42, 0x14, 0xe6, 0xda, 0x64, 0x57, 0xe9, 0x69, 0xf6, 0x62, 0xbb, 0xbd, 0xa4, 0x98,
|
||||||
0x51, 0x35, 0x95, 0xaa, 0xe2, 0xb9, 0x60, 0xa4, 0xfe, 0xd0, 0xf9, 0x38, 0x9d, 0xc4, 0xf1, 0xe2,
|
0xca, 0x8e, 0xaa, 0xa9, 0xb6, 0x2a, 0x9e, 0x0b, 0x46, 0xea, 0x0f, 0x9d, 0x8f, 0xd3, 0x49, 0x1c,
|
||||||
0xa8, 0x72, 0x25, 0xe9, 0xeb, 0x90, 0xcb, 0xd2, 0xc7, 0x29, 0xd0, 0xa8, 0x0f, 0x65, 0x8b, 0x7c,
|
0x2f, 0x8e, 0x2a, 0x57, 0x92, 0xbe, 0x0e, 0xb9, 0x2c, 0x7d, 0x9c, 0x02, 0x8d, 0xfa, 0x50, 0xb6,
|
||||||
0xda, 0x53, 0x2d, 0xd2, 0x5e, 0xb6, 0x0c, 0x33, 0xa4, 0x36, 0xcf, 0xd5, 0xfe, 0xfa, 0xf1, 0x51,
|
0xc8, 0xa7, 0x3d, 0xd5, 0x22, 0xed, 0x65, 0xcb, 0x30, 0x43, 0x6a, 0xf3, 0x5c, 0xed, 0xaf, 0x1f,
|
||||||
0xa5, 0x8c, 0x53, 0x78, 0x06, 0x2b, 0x4e, 0x85, 0x47, 0xcf, 0x60, 0x46, 0x11, 0xcd, 0x68, 0x41,
|
0x1f, 0x55, 0xca, 0x38, 0x85, 0x67, 0xb0, 0xe2, 0x54, 0x78, 0xf4, 0x0c, 0x66, 0x14, 0xd1, 0x8c,
|
||||||
0xad, 0xce, 0x29, 0xb9, 0x7f, 0x7c, 0x54, 0x99, 0x59, 0x8c, 0x93, 0x07, 0x2b, 0x4c, 0x02, 0x45,
|
0x16, 0xd4, 0xea, 0x9c, 0x92, 0xfb, 0xc7, 0x47, 0x95, 0x99, 0xc5, 0x38, 0x79, 0xb0, 0xc2, 0x24,
|
||||||
0x35, 0x28, 0x1e, 0xf0, 0xbe, 0x35, 0xbb, 0x3c, 0xc4, 0xf1, 0x59, 0x22, 0x28, 0x3a, 0xad, 0x6c,
|
0x50, 0x54, 0x83, 0xe2, 0x01, 0xef, 0x5b, 0xa3, 0xe5, 0x21, 0x8e, 0xcf, 0x12, 0x41, 0xd1, 0x69,
|
||||||
0x0c, 0x73, 0x78, 0xa5, 0xc9, 0x4f, 0x9f, 0xcb, 0xc5, 0x2e, 0x94, 0xac, 0x96, 0x14, 0x27, 0x9e,
|
0x65, 0x63, 0x98, 0xc3, 0x2b, 0x4d, 0x7e, 0xfa, 0x5c, 0x2e, 0x76, 0xa1, 0x64, 0xb5, 0xa4, 0x38,
|
||||||
0xbf, 0x18, 0x97, 0xfc, 0xa8, 0xf5, 0xc4, 0x27, 0xe1, 0x20, 0x1f, 0xfa, 0x08, 0x46, 0xf6, 0xc4,
|
0xf1, 0xfc, 0xc5, 0xb8, 0xe4, 0x47, 0xad, 0x27, 0x3e, 0x09, 0x07, 0xf9, 0xd0, 0x47, 0x30, 0xb2,
|
||||||
0xab, 0x84, 0x5d, 0x2e, 0x66, 0x4a, 0xc2, 0xa1, 0x57, 0x8c, 0xfa, 0xb4, 0x50, 0x31, 0xe2, 0x0e,
|
0x27, 0x5e, 0x25, 0x68, 0xb9, 0x98, 0x29, 0x09, 0x87, 0x5e, 0x31, 0xea, 0xd3, 0x42, 0xc5, 0x88,
|
||||||
0xdb, 0xd8, 0x47, 0x44, 0x6f, 0x40, 0x91, 0xff, 0x58, 0x5d, 0xe6, 0xcf, 0x71, 0x25, 0x3f, 0xb6,
|
0x3b, 0x4c, 0xb1, 0x8f, 0x88, 0x5e, 0x87, 0x22, 0xff, 0xb1, 0xba, 0xcc, 0x9f, 0xe3, 0x4a, 0x7e,
|
||||||
0x3d, 0x71, 0x86, 0xb1, 0x4b, 0x77, 0x59, 0x57, 0x1b, 0x4b, 0xfc, 0x59, 0x38, 0xc2, 0xba, 0xda,
|
0x6c, 0x7b, 0xe2, 0x0c, 0x63, 0x97, 0xee, 0xb2, 0xae, 0x36, 0x96, 0xf8, 0xb3, 0x70, 0x84, 0x75,
|
||||||
0x58, 0xc2, 0x2e, 0x1d, 0x7d, 0x02, 0x45, 0x9b, 0xac, 0xa9, 0x7a, 0xef, 0xb0, 0x0c, 0x99, 0x3e,
|
0xb5, 0xb1, 0x84, 0x5d, 0x3a, 0xfa, 0x04, 0x8a, 0x94, 0xac, 0xa9, 0x7a, 0xef, 0xb0, 0x0c, 0x99,
|
||||||
0x2a, 0x37, 0x1f, 0x71, 0xee, 0xc8, 0xc3, 0x98, 0xaf, 0x41, 0xd0, 0xb1, 0x0b, 0x8b, 0xf6, 0x60,
|
0x3e, 0x2a, 0x37, 0x1f, 0x71, 0xee, 0xc8, 0xc3, 0x98, 0xaf, 0x41, 0xd0, 0xb1, 0x0b, 0x8b, 0xf6,
|
||||||
0xc4, 0xea, 0xe9, 0x8b, 0xf6, 0xb6, 0x4d, 0xac, 0xf2, 0x28, 0xd7, 0x31, 0x28, 0x9c, 0x63, 0x97,
|
0x60, 0xc4, 0xea, 0xe9, 0x8b, 0x74, 0x9b, 0x12, 0xab, 0x3c, 0xca, 0x75, 0x0c, 0x0a, 0xe7, 0xd8,
|
||||||
0x3f, 0xaa, 0xc5, 0x5b, 0x21, 0x8f, 0x03, 0xfb, 0xe0, 0x68, 0x0f, 0x80, 0xff, 0xe0, 0x6f, 0x70,
|
0xe5, 0x8f, 0x6a, 0xf1, 0x56, 0xc8, 0xe3, 0xc0, 0x3e, 0x38, 0xda, 0x03, 0xe0, 0x3f, 0xf8, 0x1b,
|
||||||
0xe5, 0x39, 0xae, 0xea, 0x7e, 0x16, 0x55, 0x49, 0x4f, 0x7d, 0xe2, 0x1d, 0xde, 0x23, 0xe3, 0x00,
|
0x5c, 0x79, 0x8e, 0xab, 0xba, 0x9f, 0x45, 0x55, 0xd2, 0x53, 0x9f, 0x78, 0x87, 0xf7, 0xc8, 0x38,
|
||||||
0x36, 0xfa, 0x43, 0x09, 0x90, 0xdd, 0x33, 0x4d, 0x8d, 0x74, 0x89, 0x4e, 0x15, 0x8d, 0x8f, 0xda,
|
0x80, 0x8d, 0xfe, 0x50, 0x02, 0x44, 0x7b, 0xa6, 0xa9, 0x91, 0x2e, 0xd1, 0x6d, 0x45, 0xe3, 0xa3,
|
||||||
0xe5, 0x31, 0xae, 0xf2, 0xdd, 0x41, 0x2b, 0x18, 0x13, 0x8c, 0xaa, 0xf6, 0x9e, 0xd7, 0xe3, 0xac,
|
0xb4, 0x3c, 0xc6, 0x55, 0xbe, 0x3b, 0x68, 0x05, 0x63, 0x82, 0x51, 0xd5, 0xde, 0xf3, 0x7a, 0x9c,
|
||||||
0x38, 0x41, 0x2f, 0xdb, 0xc4, 0x5d, 0x31, 0xeb, 0xf1, 0x4c, 0x9b, 0x98, 0xfc, 0xba, 0xe9, 0x6f,
|
0x15, 0x27, 0xe8, 0x65, 0x9b, 0xb8, 0x2b, 0x66, 0x3d, 0x9e, 0x69, 0x13, 0x93, 0x5f, 0x37, 0xfd,
|
||||||
0xa2, 0xa0, 0x63, 0x17, 0x16, 0x3d, 0x85, 0x39, 0xb7, 0xc1, 0x12, 0x1b, 0x06, 0x5d, 0x51, 0x35,
|
0x4d, 0x14, 0x74, 0xec, 0xc2, 0xa2, 0xa7, 0x30, 0xe7, 0x36, 0x58, 0x62, 0xc3, 0xb0, 0x57, 0x54,
|
||||||
0x62, 0xf7, 0x6d, 0x4a, 0xba, 0xe5, 0x09, 0xee, 0x60, 0x5e, 0x97, 0x09, 0x4e, 0xe4, 0xc2, 0x29,
|
0x8d, 0xd0, 0x3e, 0xb5, 0x49, 0xb7, 0x3c, 0xc1, 0x1d, 0xcc, 0xeb, 0x32, 0xc1, 0x89, 0x5c, 0x38,
|
||||||
0xd2, 0xa8, 0x0b, 0x15, 0x37, 0x38, 0xb1, 0x93, 0xeb, 0x45, 0xc7, 0x47, 0x76, 0x4b, 0xd1, 0x9c,
|
0x45, 0x1a, 0x75, 0xa1, 0xe2, 0x06, 0x27, 0x76, 0x72, 0xbd, 0xe8, 0xf8, 0x88, 0xb6, 0x14, 0xcd,
|
||||||
0x2f, 0x0e, 0x93, 0x5c, 0xc1, 0xeb, 0xc7, 0x47, 0x95, 0xca, 0xf2, 0xc9, 0xac, 0x78, 0x10, 0x16,
|
0xf9, 0xe2, 0x30, 0xc9, 0x15, 0xbc, 0x76, 0x7c, 0x54, 0xa9, 0x2c, 0x9f, 0xcc, 0x8a, 0x07, 0x61,
|
||||||
0xfa, 0x00, 0xca, 0x4a, 0x9a, 0x9e, 0x29, 0xae, 0xe7, 0x35, 0x16, 0xf1, 0x52, 0x15, 0xa4, 0x4a,
|
0xa1, 0x0f, 0xa0, 0xac, 0xa4, 0xe9, 0x99, 0xe2, 0x7a, 0x7e, 0xce, 0x22, 0x5e, 0xaa, 0x82, 0x54,
|
||||||
0x23, 0x0a, 0x53, 0x4a, 0xb8, 0xd5, 0xd5, 0x2e, 0x4f, 0x67, 0x7a, 0xf2, 0x8c, 0x74, 0xc8, 0xfa,
|
0x69, 0x64, 0xc3, 0x94, 0x12, 0x6e, 0x75, 0xa5, 0xe5, 0xe9, 0x4c, 0x4f, 0x9e, 0x91, 0x0e, 0x59,
|
||||||
0xcf, 0x1e, 0x11, 0x82, 0x8d, 0x63, 0x1a, 0xd0, 0xef, 0x00, 0x52, 0xa2, 0xdd, 0xb9, 0x76, 0x19,
|
0xff, 0xd9, 0x23, 0x42, 0xa0, 0x38, 0xa6, 0x01, 0xfd, 0x0e, 0x20, 0x25, 0xda, 0x9d, 0x4b, 0xcb,
|
||||||
0x65, 0x4a, 0x74, 0xb1, 0xb6, 0x5e, 0xdf, 0xed, 0x62, 0x24, 0x1b, 0x27, 0xe8, 0x61, 0x05, 0xba,
|
0x28, 0x53, 0xa2, 0x8b, 0xb5, 0xf5, 0xfa, 0x6e, 0x17, 0x23, 0x51, 0x9c, 0xa0, 0x87, 0x15, 0xe8,
|
||||||
0x12, 0xe9, 0x28, 0xb6, 0xcb, 0xf3, 0x5c, 0x79, 0x2d, 0x9b, 0x72, 0x4f, 0x2e, 0xf0, 0x61, 0x25,
|
0x4a, 0xa4, 0xa3, 0x98, 0x96, 0xe7, 0xb9, 0xf2, 0x5a, 0x36, 0xe5, 0x9e, 0x5c, 0xe0, 0xc3, 0x4a,
|
||||||
0x8a, 0x88, 0xe3, 0x4a, 0xd0, 0x1a, 0xcc, 0x8a, 0xc1, 0x6d, 0xdd, 0x56, 0x76, 0x49, 0xb3, 0x6f,
|
0x14, 0x11, 0xc7, 0x95, 0xa0, 0x35, 0x98, 0x15, 0x83, 0xdb, 0x3a, 0x55, 0x76, 0x49, 0xb3, 0x4f,
|
||||||
0xb7, 0xa8, 0x66, 0x97, 0x67, 0x78, 0x7c, 0xe7, 0x1f, 0xf7, 0x16, 0x13, 0xe8, 0x38, 0x51, 0x0a,
|
0x5b, 0xb6, 0x46, 0xcb, 0x33, 0x3c, 0xbe, 0xf3, 0x8f, 0x7b, 0x8b, 0x09, 0x74, 0x9c, 0x28, 0x85,
|
||||||
0xbd, 0x0b, 0x53, 0xbb, 0x86, 0xb5, 0xa3, 0xb6, 0xdb, 0x44, 0x77, 0x91, 0x66, 0x39, 0xd2, 0x2c,
|
0xde, 0x85, 0xa9, 0x5d, 0xc3, 0xda, 0x51, 0xdb, 0x6d, 0xa2, 0xbb, 0x48, 0xb3, 0x1c, 0x69, 0x96,
|
||||||
0xdb, 0x87, 0x95, 0x08, 0x0d, 0xc7, 0xb8, 0x91, 0x0d, 0x17, 0x05, 0x72, 0xc3, 0x32, 0x5a, 0xeb,
|
0xed, 0xc3, 0x4a, 0x84, 0x86, 0x63, 0xdc, 0x88, 0xc2, 0x45, 0x81, 0xdc, 0xb0, 0x8c, 0xd6, 0xba,
|
||||||
0x46, 0x4f, 0xa7, 0x4e, 0xd9, 0x77, 0xd1, 0x4b, 0xa3, 0x17, 0x17, 0x93, 0x18, 0x5e, 0x1c, 0x55,
|
0xd1, 0xd3, 0x6d, 0xa7, 0xec, 0xbb, 0xe8, 0xa5, 0xd1, 0x8b, 0x8b, 0x49, 0x0c, 0x2f, 0x8e, 0x2a,
|
||||||
0xae, 0x26, 0x57, 0xf9, 0x3e, 0x13, 0x4e, 0xc6, 0x46, 0x26, 0x8c, 0x89, 0x3e, 0xf1, 0x25, 0x4d,
|
0x57, 0x93, 0xab, 0x7c, 0x9f, 0x09, 0x27, 0x63, 0x23, 0x13, 0xc6, 0x44, 0x9f, 0xf8, 0x92, 0xa6,
|
||||||
0xb1, 0xed, 0x72, 0x99, 0x1f, 0xfd, 0x07, 0x83, 0x03, 0x9e, 0x27, 0x12, 0x3d, 0xff, 0x53, 0xc7,
|
0x50, 0x5a, 0x2e, 0xf3, 0xa3, 0xff, 0x60, 0x70, 0xc0, 0xf3, 0x44, 0xa2, 0xe7, 0x7f, 0xea, 0xf8,
|
||||||
0x47, 0x95, 0xb1, 0x20, 0x03, 0x0e, 0x69, 0xe0, 0x7d, 0x41, 0xe2, 0x6b, 0xd4, 0xf9, 0xf4, 0x56,
|
0xa8, 0x32, 0x16, 0x64, 0xc0, 0x21, 0x0d, 0xbc, 0x2f, 0x48, 0x7c, 0x8d, 0x3a, 0x9f, 0xde, 0xea,
|
||||||
0x9f, 0xae, 0x2f, 0xc8, 0x37, 0xed, 0xa5, 0xf5, 0x05, 0x05, 0x20, 0x4f, 0x7e, 0x97, 0xfe, 0xcf,
|
0xd3, 0xf5, 0x05, 0xf9, 0xa6, 0xbd, 0xb4, 0xbe, 0xa0, 0x00, 0xe4, 0xc9, 0xef, 0xd2, 0xff, 0x99,
|
||||||
0x1c, 0xcc, 0xf8, 0xcc, 0x99, 0xfb, 0x82, 0x12, 0x44, 0xfe, 0xbf, 0xbf, 0x3a, 0x5b, 0xaf, 0x8e,
|
0x83, 0x19, 0x9f, 0x39, 0x73, 0x5f, 0x50, 0x82, 0xc8, 0xff, 0xf7, 0x57, 0x67, 0xeb, 0xd5, 0xf1,
|
||||||
0xbf, 0x74, 0xff, 0xf7, 0x7a, 0x75, 0x7c, 0xdb, 0x52, 0x6e, 0x0f, 0x7f, 0x9b, 0x0b, 0x4e, 0xe0,
|
0x97, 0xee, 0xff, 0x5e, 0xaf, 0x8e, 0x6f, 0x5b, 0xca, 0xed, 0xe1, 0x6f, 0x73, 0xc1, 0x09, 0x9c,
|
||||||
0x94, 0x0d, 0x23, 0x2f, 0xa1, 0xc5, 0xf8, 0x27, 0xd7, 0x73, 0x22, 0x7f, 0x93, 0x87, 0xa9, 0xe8,
|
0xb2, 0x61, 0xe4, 0x25, 0xb4, 0x18, 0xff, 0xe4, 0x7a, 0x4e, 0xe4, 0x6f, 0xf2, 0x30, 0x15, 0x3d,
|
||||||
0x69, 0x0c, 0xf5, 0x15, 0x48, 0x03, 0xfb, 0x0a, 0x1a, 0x30, 0xbb, 0xdb, 0xd3, 0xb4, 0x3e, 0x9f,
|
0x8d, 0xa1, 0xbe, 0x02, 0x69, 0x60, 0x5f, 0x41, 0x03, 0x66, 0x77, 0x7b, 0x9a, 0xd6, 0xe7, 0x73,
|
||||||
0x43, 0xa0, 0xb9, 0xc0, 0xf9, 0x2e, 0xf8, 0x9a, 0x90, 0x9c, 0x5d, 0x49, 0xe0, 0xc1, 0x89, 0x92,
|
0x08, 0x34, 0x17, 0x38, 0xdf, 0x05, 0x7f, 0x2e, 0x24, 0x67, 0x57, 0x12, 0x78, 0x70, 0xa2, 0x64,
|
||||||
0xf1, 0x36, 0x83, 0xc2, 0x8f, 0x6d, 0x33, 0x18, 0x3a, 0x43, 0x9b, 0x41, 0x72, 0xa7, 0x46, 0xfe,
|
0xbc, 0xcd, 0xa0, 0xf0, 0x63, 0xdb, 0x0c, 0x86, 0xce, 0xd0, 0x66, 0x90, 0xdc, 0xa9, 0x91, 0x3f,
|
||||||
0x4c, 0x9d, 0x1a, 0x67, 0xe9, 0x31, 0x48, 0x08, 0x62, 0x03, 0xfb, 0x65, 0x5f, 0x83, 0x4b, 0x42,
|
0x53, 0xa7, 0xc6, 0x59, 0x7a, 0x0c, 0x12, 0x82, 0xd8, 0xc0, 0x7e, 0xd9, 0xb7, 0x61, 0x22, 0xdc,
|
||||||
0x8c, 0xf2, 0xde, 0x01, 0x9d, 0x5a, 0x86, 0xa6, 0x11, 0x6b, 0xb9, 0xd7, 0xed, 0xf6, 0xe5, 0x5f,
|
0xf7, 0xe2, 0xec, 0xa5, 0xd3, 0x7a, 0x23, 0xbe, 0xbf, 0x06, 0xf6, 0xd2, 0x19, 0xc7, 0x1e, 0x87,
|
||||||
0xc2, 0x44, 0xb8, 0x2b, 0xc6, 0xd9, 0x69, 0xa7, 0x31, 0x47, 0x7c, 0x9d, 0x0d, 0xec, 0xb4, 0x33,
|
0xfc, 0xfb, 0x12, 0xcc, 0x25, 0xf7, 0xb7, 0x22, 0x0d, 0x26, 0xba, 0xca, 0x61, 0xb0, 0xe7, 0x58,
|
||||||
0x8e, 0x3d, 0x0e, 0xf9, 0xf7, 0x25, 0x98, 0x4b, 0xee, 0x7e, 0x45, 0x1a, 0x4c, 0x74, 0x95, 0xc3,
|
0x3a, 0xe3, 0xcb, 0x18, 0x6f, 0x78, 0x58, 0x0f, 0x61, 0xe1, 0x08, 0xb6, 0xfc, 0x83, 0x04, 0xf3,
|
||||||
0x60, 0x47, 0xb2, 0x74, 0xc6, 0x77, 0x33, 0xde, 0x0e, 0xb1, 0x1e, 0xc2, 0xc2, 0x11, 0x6c, 0xf9,
|
0x29, 0xad, 0x06, 0xe7, 0x6b, 0x09, 0xfa, 0x10, 0x4a, 0x5d, 0xe5, 0xb0, 0xd9, 0xb3, 0x3a, 0xe4,
|
||||||
0x07, 0x09, 0xe6, 0x53, 0x1a, 0x11, 0xce, 0xd7, 0x12, 0xf4, 0x21, 0x94, 0xba, 0xca, 0x61, 0xb3,
|
0xcc, 0x6f, 0x81, 0xfc, 0x40, 0xaf, 0x0b, 0x14, 0xec, 0xe1, 0xc9, 0x7f, 0x29, 0xc1, 0xcf, 0x52,
|
||||||
0x67, 0x75, 0xc8, 0x99, 0x5f, 0x0a, 0xf9, 0x71, 0x5f, 0x17, 0x28, 0xd8, 0xc3, 0x93, 0xff, 0x52,
|
0xaf, 0x4a, 0xe8, 0x5e, 0xa8, 0x2b, 0x42, 0x8e, 0x74, 0x45, 0xa0, 0xb8, 0xe0, 0x2b, 0x6a, 0x8a,
|
||||||
0x82, 0x9f, 0xa5, 0x5e, 0xa4, 0xd0, 0xbd, 0x50, 0xcf, 0x84, 0x1c, 0xe9, 0x99, 0x40, 0x71, 0xc1,
|
0xf8, 0x42, 0x82, 0x72, 0xda, 0xdd, 0x11, 0xdd, 0x0d, 0x19, 0xf9, 0x8b, 0x88, 0x91, 0xd3, 0x31,
|
||||||
0x57, 0xd4, 0x32, 0xf1, 0x85, 0x04, 0xe5, 0xb4, 0x9b, 0x25, 0xba, 0x1b, 0x32, 0xf2, 0xe7, 0x11,
|
0xb9, 0x57, 0x64, 0xe3, 0xbf, 0x4a, 0x70, 0xf9, 0x84, 0x1a, 0xcc, 0xbb, 0xa2, 0x90, 0x76, 0x90,
|
||||||
0x23, 0xa7, 0x63, 0x72, 0xaf, 0xc8, 0xc6, 0x7f, 0x95, 0xe0, 0xf2, 0x09, 0x15, 0x9a, 0x77, 0x81,
|
0x8b, 0x3f, 0x5b, 0x8b, 0x6f, 0x5e, 0xfe, 0x15, 0x25, 0x81, 0x07, 0xa7, 0x4a, 0xa3, 0x6d, 0x98,
|
||||||
0x21, 0xed, 0x20, 0x17, 0x7f, 0xd4, 0x16, 0x5f, 0xc4, 0xfc, 0x0b, 0x4c, 0x02, 0x0f, 0x4e, 0x95,
|
0x17, 0xf7, 0xa3, 0x28, 0x4d, 0x94, 0x17, 0xbc, 0x79, 0x6c, 0x39, 0x99, 0x05, 0xa7, 0xc9, 0xca,
|
||||||
0x46, 0xdb, 0x30, 0x2f, 0x6e, 0x4f, 0x51, 0x9a, 0x28, 0x3e, 0x78, 0x6b, 0xd9, 0x72, 0x32, 0x0b,
|
0x7f, 0x23, 0xc1, 0x5c, 0xf2, 0xa3, 0x00, 0x7a, 0x2b, 0xb4, 0xe4, 0x95, 0xc8, 0x92, 0x4f, 0x46,
|
||||||
0x4e, 0x93, 0x95, 0xff, 0x46, 0x82, 0xb9, 0xe4, 0x27, 0x03, 0xf4, 0x76, 0x68, 0xc9, 0x2b, 0x91,
|
0xa4, 0xc4, 0x82, 0x7f, 0x0c, 0x13, 0xe2, 0xe9, 0x40, 0xc0, 0x08, 0x67, 0x96, 0x93, 0x32, 0x88,
|
||||||
0x25, 0x9f, 0x8c, 0x48, 0x89, 0x05, 0xff, 0x18, 0x26, 0xc4, 0xc3, 0x82, 0x80, 0x11, 0xce, 0x2c,
|
0x80, 0x70, 0x0b, 0x58, 0x7e, 0x4c, 0xc2, 0x63, 0x38, 0x82, 0x26, 0xff, 0x41, 0x0e, 0x86, 0x9a,
|
||||||
0x27, 0xe5, 0x17, 0x01, 0xe1, 0x96, 0xb7, 0xfc, 0x98, 0x84, 0xc7, 0x70, 0x04, 0x4d, 0xfe, 0x83,
|
0x2d, 0x45, 0x23, 0xe7, 0x50, 0xbf, 0xbe, 0x17, 0xaa, 0x5f, 0x07, 0xfd, 0x5b, 0x16, 0xb7, 0x2a,
|
||||||
0x1c, 0x0c, 0x35, 0x5b, 0x8a, 0x46, 0xce, 0xa1, 0xba, 0x7d, 0x2f, 0x54, 0xdd, 0x0e, 0xfa, 0xa7,
|
0xb5, 0x74, 0xc5, 0x91, 0xd2, 0xf5, 0x8d, 0x4c, 0x68, 0x27, 0x57, 0xad, 0xbf, 0x06, 0x23, 0x9e,
|
||||||
0x2d, 0x6e, 0x55, 0x6a, 0x61, 0x8b, 0x23, 0x85, 0xed, 0x9b, 0x99, 0xd0, 0x4e, 0xae, 0x69, 0x7f,
|
0xd2, 0xd3, 0x25, 0x53, 0xf9, 0x2f, 0x72, 0x30, 0x1a, 0x50, 0x71, 0xca, 0x54, 0xbc, 0x1b, 0xaa,
|
||||||
0x0d, 0x46, 0x3c, 0xa5, 0xa7, 0x4b, 0xb5, 0xf2, 0x5f, 0xe4, 0x60, 0x34, 0xa0, 0xe2, 0x94, 0x89,
|
0x3f, 0xf2, 0x19, 0x1e, 0x6a, 0x02, 0xba, 0xaa, 0x6e, 0xc5, 0xe1, 0xb4, 0x15, 0xfb, 0x8d, 0xa4,
|
||||||
0x7a, 0x37, 0x54, 0x9d, 0xe4, 0x33, 0x3c, 0xe3, 0x04, 0x74, 0x55, 0xdd, 0x7a, 0xc4, 0x69, 0x3a,
|
0xf1, 0x42, 0xe4, 0x6d, 0x98, 0xb0, 0x15, 0xab, 0x43, 0x6c, 0xef, 0xc3, 0x45, 0x9e, 0xfb, 0xa2,
|
||||||
0xf6, 0xdb, 0x4c, 0xe3, 0x65, 0xca, 0x2f, 0x61, 0x82, 0x2a, 0x56, 0x87, 0x50, 0xef, 0xb3, 0x46,
|
0xd7, 0xdf, 0xbe, 0x15, 0xa2, 0xe2, 0x08, 0xf7, 0xa5, 0x87, 0x30, 0x1e, 0x52, 0x76, 0xaa, 0xae,
|
||||||
0x9e, 0xfb, 0xa2, 0xd7, 0xfd, 0xbe, 0x15, 0xa2, 0xe2, 0x08, 0xf7, 0xa5, 0x87, 0x30, 0x1e, 0x52,
|
0xe0, 0xbf, 0x97, 0xe0, 0x17, 0x03, 0x1f, 0x7b, 0x50, 0x3d, 0x74, 0x48, 0xaa, 0x91, 0x43, 0xb2,
|
||||||
0x76, 0xaa, 0x9e, 0xe1, 0xbf, 0x97, 0xe0, 0xe7, 0x03, 0x9f, 0x82, 0x50, 0x3d, 0x74, 0x48, 0xaa,
|
0x90, 0x0e, 0xf0, 0xea, 0xba, 0xcb, 0xea, 0x37, 0x9f, 0x7f, 0xbf, 0x70, 0xe1, 0xdb, 0xef, 0x17,
|
||||||
0x91, 0x43, 0xb2, 0x90, 0x0e, 0xf0, 0xea, 0x7a, 0xcf, 0xea, 0x37, 0x9f, 0x7f, 0xbf, 0x70, 0xe1,
|
0x2e, 0x7c, 0xf7, 0xfd, 0xc2, 0x85, 0xdf, 0x3d, 0x5e, 0x90, 0x9e, 0x1f, 0x2f, 0x48, 0xdf, 0x1e,
|
||||||
0xdb, 0xef, 0x17, 0x2e, 0x7c, 0xf7, 0xfd, 0xc2, 0x85, 0xdf, 0x3d, 0x5e, 0x90, 0x9e, 0x1f, 0x2f,
|
0x2f, 0x48, 0xdf, 0x1d, 0x2f, 0x48, 0xff, 0x7e, 0xbc, 0x20, 0xfd, 0xc9, 0x0f, 0x0b, 0x17, 0x3e,
|
||||||
0x48, 0xdf, 0x1e, 0x2f, 0x48, 0xdf, 0x1d, 0x2f, 0x48, 0xff, 0x7e, 0xbc, 0x20, 0xfd, 0xc9, 0x0f,
|
0x2c, 0x0a, 0xb8, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xf8, 0xe2, 0x53, 0x87, 0xe9, 0x3d, 0x00,
|
||||||
0x0b, 0x17, 0x3e, 0x2c, 0x0a, 0xb8, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xa0, 0x62, 0xda, 0xf9,
|
0x00,
|
||||||
0x07, 0x3e, 0x00, 0x00,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *AllowedCSIDriver) Marshal() (dAtA []byte, err error) {
|
func (m *AllowedCSIDriver) Marshal() (dAtA []byte, err error) {
|
||||||
@ -4332,29 +4302,6 @@ func (m *ReplicaSetStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
return len(dAtA) - i, nil
|
return len(dAtA) - i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *ReplicationControllerDummy) Marshal() (dAtA []byte, err error) {
|
|
||||||
size := m.Size()
|
|
||||||
dAtA = make([]byte, size)
|
|
||||||
n, err := m.MarshalToSizedBuffer(dAtA[:size])
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return dAtA[:n], nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ReplicationControllerDummy) MarshalTo(dAtA []byte) (int, error) {
|
|
||||||
size := m.Size()
|
|
||||||
return m.MarshalToSizedBuffer(dAtA[:size])
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *ReplicationControllerDummy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|
||||||
i := len(dAtA)
|
|
||||||
_ = i
|
|
||||||
var l int
|
|
||||||
_ = l
|
|
||||||
return len(dAtA) - i, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *RollbackConfig) Marshal() (dAtA []byte, err error) {
|
func (m *RollbackConfig) Marshal() (dAtA []byte, err error) {
|
||||||
size := m.Size()
|
size := m.Size()
|
||||||
dAtA = make([]byte, size)
|
dAtA = make([]byte, size)
|
||||||
@ -5675,15 +5622,6 @@ func (m *ReplicaSetStatus) Size() (n int) {
|
|||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *ReplicationControllerDummy) Size() (n int) {
|
|
||||||
if m == nil {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
var l int
|
|
||||||
_ = l
|
|
||||||
return n
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *RollbackConfig) Size() (n int) {
|
func (m *RollbackConfig) Size() (n int) {
|
||||||
if m == nil {
|
if m == nil {
|
||||||
return 0
|
return 0
|
||||||
@ -6547,15 +6485,6 @@ func (this *ReplicaSetStatus) String() string {
|
|||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
func (this *ReplicationControllerDummy) String() string {
|
|
||||||
if this == nil {
|
|
||||||
return "nil"
|
|
||||||
}
|
|
||||||
s := strings.Join([]string{`&ReplicationControllerDummy{`,
|
|
||||||
`}`,
|
|
||||||
}, "")
|
|
||||||
return s
|
|
||||||
}
|
|
||||||
func (this *RollbackConfig) String() string {
|
func (this *RollbackConfig) String() string {
|
||||||
if this == nil {
|
if this == nil {
|
||||||
return "nil"
|
return "nil"
|
||||||
@ -13816,59 +13745,6 @@ func (m *ReplicaSetStatus) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
func (m *ReplicationControllerDummy) Unmarshal(dAtA []byte) error {
|
|
||||||
l := len(dAtA)
|
|
||||||
iNdEx := 0
|
|
||||||
for iNdEx < l {
|
|
||||||
preIndex := iNdEx
|
|
||||||
var wire uint64
|
|
||||||
for shift := uint(0); ; shift += 7 {
|
|
||||||
if shift >= 64 {
|
|
||||||
return ErrIntOverflowGenerated
|
|
||||||
}
|
|
||||||
if iNdEx >= l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
b := dAtA[iNdEx]
|
|
||||||
iNdEx++
|
|
||||||
wire |= uint64(b&0x7F) << shift
|
|
||||||
if b < 0x80 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fieldNum := int32(wire >> 3)
|
|
||||||
wireType := int(wire & 0x7)
|
|
||||||
if wireType == 4 {
|
|
||||||
return fmt.Errorf("proto: ReplicationControllerDummy: wiretype end group for non-group")
|
|
||||||
}
|
|
||||||
if fieldNum <= 0 {
|
|
||||||
return fmt.Errorf("proto: ReplicationControllerDummy: illegal tag %d (wire type %d)", fieldNum, wire)
|
|
||||||
}
|
|
||||||
switch fieldNum {
|
|
||||||
default:
|
|
||||||
iNdEx = preIndex
|
|
||||||
skippy, err := skipGenerated(dAtA[iNdEx:])
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if skippy < 0 {
|
|
||||||
return ErrInvalidLengthGenerated
|
|
||||||
}
|
|
||||||
if (iNdEx + skippy) < 0 {
|
|
||||||
return ErrInvalidLengthGenerated
|
|
||||||
}
|
|
||||||
if (iNdEx + skippy) > l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
iNdEx += skippy
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if iNdEx > l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
func (m *RollbackConfig) Unmarshal(dAtA []byte) error {
|
func (m *RollbackConfig) Unmarshal(dAtA []byte) error {
|
||||||
l := len(dAtA)
|
l := len(dAtA)
|
||||||
iNdEx := 0
|
iNdEx := 0
|
||||||
|
@ -1025,10 +1025,6 @@ message ReplicaSetStatus {
|
|||||||
repeated ReplicaSetCondition conditions = 6;
|
repeated ReplicaSetCondition conditions = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dummy definition
|
|
||||||
message ReplicationControllerDummy {
|
|
||||||
}
|
|
||||||
|
|
||||||
// DEPRECATED.
|
// DEPRECATED.
|
||||||
message RollbackConfig {
|
message RollbackConfig {
|
||||||
// The revision to rollback to. If set to 0, rollback to the last revision.
|
// The revision to rollback to. If set to 0, rollback to the last revision.
|
||||||
|
@ -47,7 +47,6 @@ func addKnownTypes(scheme *runtime.Scheme) error {
|
|||||||
&Deployment{},
|
&Deployment{},
|
||||||
&DeploymentList{},
|
&DeploymentList{},
|
||||||
&DeploymentRollback{},
|
&DeploymentRollback{},
|
||||||
&ReplicationControllerDummy{},
|
|
||||||
&Scale{},
|
&Scale{},
|
||||||
&DaemonSetList{},
|
&DaemonSetList{},
|
||||||
&DaemonSet{},
|
&DaemonSet{},
|
||||||
|
@ -67,13 +67,6 @@ type Scale struct {
|
|||||||
Status ScaleStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
Status ScaleStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
|
||||||
|
|
||||||
// Dummy definition
|
|
||||||
type ReplicationControllerDummy struct {
|
|
||||||
metav1.TypeMeta `json:",inline"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// +genclient
|
// +genclient
|
||||||
// +genclient:method=GetScale,verb=get,subresource=scale,result=Scale
|
// +genclient:method=GetScale,verb=get,subresource=scale,result=Scale
|
||||||
// +genclient:method=UpdateScale,verb=update,subresource=scale,input=Scale,result=Scale
|
// +genclient:method=UpdateScale,verb=update,subresource=scale,input=Scale,result=Scale
|
||||||
|
@ -541,14 +541,6 @@ func (ReplicaSetStatus) SwaggerDoc() map[string]string {
|
|||||||
return map_ReplicaSetStatus
|
return map_ReplicaSetStatus
|
||||||
}
|
}
|
||||||
|
|
||||||
var map_ReplicationControllerDummy = map[string]string{
|
|
||||||
"": "Dummy definition",
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ReplicationControllerDummy) SwaggerDoc() map[string]string {
|
|
||||||
return map_ReplicationControllerDummy
|
|
||||||
}
|
|
||||||
|
|
||||||
var map_RollbackConfig = map[string]string{
|
var map_RollbackConfig = map[string]string{
|
||||||
"": "DEPRECATED.",
|
"": "DEPRECATED.",
|
||||||
"revision": "The revision to rollback to. If set to 0, rollback to the last revision.",
|
"revision": "The revision to rollback to. If set to 0, rollback to the last revision.",
|
||||||
|
@ -1231,31 +1231,6 @@ func (in *ReplicaSetStatus) DeepCopy() *ReplicaSetStatus {
|
|||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
||||||
func (in *ReplicationControllerDummy) DeepCopyInto(out *ReplicationControllerDummy) {
|
|
||||||
*out = *in
|
|
||||||
out.TypeMeta = in.TypeMeta
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationControllerDummy.
|
|
||||||
func (in *ReplicationControllerDummy) DeepCopy() *ReplicationControllerDummy {
|
|
||||||
if in == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(ReplicationControllerDummy)
|
|
||||||
in.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
||||||
func (in *ReplicationControllerDummy) DeepCopyObject() runtime.Object {
|
|
||||||
if c := in.DeepCopy(); c != nil {
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *RollbackConfig) DeepCopyInto(out *RollbackConfig) {
|
func (in *RollbackConfig) DeepCopyInto(out *RollbackConfig) {
|
||||||
*out = *in
|
*out = *in
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"kind": "ReplicationControllerDummy",
|
|
||||||
"apiVersion": "extensions/v1beta1"
|
|
||||||
}
|
|
Binary file not shown.
@ -1,2 +0,0 @@
|
|||||||
apiVersion: extensions/v1beta1
|
|
||||||
kind: ReplicationControllerDummy
|
|
@ -40,7 +40,7 @@ go_test(
|
|||||||
"typeconverter_test.go",
|
"typeconverter_test.go",
|
||||||
"versionconverter_test.go",
|
"versionconverter_test.go",
|
||||||
],
|
],
|
||||||
data = ["//api/openapi-spec"],
|
data = glob(["testdata/**"]),
|
||||||
embed = [":go_default_library"],
|
embed = [":go_default_library"],
|
||||||
deps = [
|
deps = [
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
||||||
|
4195
staging/src/k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/internal/testdata/swagger.json
vendored
Normal file
4195
staging/src/k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/internal/testdata/swagger.json
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@ -20,7 +20,6 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/structured-merge-diff/typed"
|
"sigs.k8s.io/structured-merge-diff/typed"
|
||||||
@ -33,9 +32,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var fakeSchema = prototesting.Fake{
|
var fakeSchema = prototesting.Fake{
|
||||||
Path: filepath.Join(
|
Path: filepath.Join("testdata", "swagger.json"),
|
||||||
strings.Repeat(".."+string(filepath.Separator), 9),
|
|
||||||
"api", "openapi-spec", "swagger.json"),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestTypeConverter(t *testing.T) {
|
func TestTypeConverter(t *testing.T) {
|
||||||
|
@ -28,8 +28,6 @@ go_test(
|
|||||||
"//pkg/printers:go_default_library",
|
"//pkg/printers:go_default_library",
|
||||||
"//pkg/printers/internalversion:go_default_library",
|
"//pkg/printers/internalversion:go_default_library",
|
||||||
"//staging/src/k8s.io/api/apps/v1:go_default_library",
|
"//staging/src/k8s.io/api/apps/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/api/apps/v1beta1:go_default_library",
|
|
||||||
"//staging/src/k8s.io/api/apps/v1beta2:go_default_library",
|
|
||||||
"//staging/src/k8s.io/api/auditregistration/v1alpha1:go_default_library",
|
"//staging/src/k8s.io/api/auditregistration/v1alpha1:go_default_library",
|
||||||
"//staging/src/k8s.io/api/batch/v2alpha1:go_default_library",
|
"//staging/src/k8s.io/api/batch/v2alpha1:go_default_library",
|
||||||
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
||||||
|
@ -439,8 +439,7 @@ func testWebhookAdmission(t *testing.T, watchCache bool) {
|
|||||||
// turn off admission plugins that add finalizers
|
// turn off admission plugins that add finalizers
|
||||||
"--disable-admission-plugins=ServiceAccount,StorageObjectInUseProtection",
|
"--disable-admission-plugins=ServiceAccount,StorageObjectInUseProtection",
|
||||||
// force enable all resources so we can check storage.
|
// force enable all resources so we can check storage.
|
||||||
// TODO: drop these once we stop allowing them to be served.
|
"--runtime-config=api/all=true",
|
||||||
"--runtime-config=api/all=true,extensions/v1beta1/deployments=true,extensions/v1beta1/daemonsets=true,extensions/v1beta1/replicasets=true,extensions/v1beta1/podsecuritypolicies=true,extensions/v1beta1/networkpolicies=true",
|
|
||||||
}, etcdConfig)
|
}, etcdConfig)
|
||||||
defer server.TearDownFn()
|
defer server.TearDownFn()
|
||||||
|
|
||||||
|
@ -26,8 +26,6 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
appsv1beta1 "k8s.io/api/apps/v1beta1"
|
|
||||||
appsv1beta2 "k8s.io/api/apps/v1beta2"
|
|
||||||
auditregv1alpha1 "k8s.io/api/auditregistration/v1alpha1"
|
auditregv1alpha1 "k8s.io/api/auditregistration/v1alpha1"
|
||||||
batchv2alpha1 "k8s.io/api/batch/v2alpha1"
|
batchv2alpha1 "k8s.io/api/batch/v2alpha1"
|
||||||
discoveryv1alpha1 "k8s.io/api/discovery/v1alpha1"
|
discoveryv1alpha1 "k8s.io/api/discovery/v1alpha1"
|
||||||
@ -108,10 +106,6 @@ var kindWhiteList = sets.NewString(
|
|||||||
"JobTemplate",
|
"JobTemplate",
|
||||||
// --
|
// --
|
||||||
|
|
||||||
// k8s.io/api/extensions
|
|
||||||
"ReplicationControllerDummy",
|
|
||||||
// --
|
|
||||||
|
|
||||||
// k8s.io/api/imagepolicy
|
// k8s.io/api/imagepolicy
|
||||||
"ImageReview",
|
"ImageReview",
|
||||||
// --
|
// --
|
||||||
@ -130,20 +124,37 @@ var kindWhiteList = sets.NewString(
|
|||||||
var missingHanlders = sets.NewString(
|
var missingHanlders = sets.NewString(
|
||||||
"ClusterRole",
|
"ClusterRole",
|
||||||
"LimitRange",
|
"LimitRange",
|
||||||
"MutatingWebhookConfiguration",
|
|
||||||
"ResourceQuota",
|
"ResourceQuota",
|
||||||
"Role",
|
"Role",
|
||||||
"ValidatingWebhookConfiguration",
|
|
||||||
"VolumeAttachment",
|
|
||||||
"PriorityClass",
|
"PriorityClass",
|
||||||
"PodPreset",
|
"PodPreset",
|
||||||
"AuditSink",
|
"AuditSink",
|
||||||
"CSINode",
|
|
||||||
"CSIDriver",
|
|
||||||
"FlowSchema", // TODO(yue9944882): remove this comment by merging print-handler for flow-control API
|
"FlowSchema", // TODO(yue9944882): remove this comment by merging print-handler for flow-control API
|
||||||
"PriorityLevelConfiguration", // TODO(yue9944882): remove this comment by merging print-handler for flow-control API
|
"PriorityLevelConfiguration", // TODO(yue9944882): remove this comment by merging print-handler for flow-control API
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// known types that are no longer served we should tolerate restmapper errors for
|
||||||
|
var unservedTypes = map[schema.GroupVersionKind]bool{
|
||||||
|
{Group: "extensions", Version: "v1beta1", Kind: "ControllerRevision"}: true,
|
||||||
|
{Group: "extensions", Version: "v1beta1", Kind: "DaemonSet"}: true,
|
||||||
|
{Group: "extensions", Version: "v1beta1", Kind: "Deployment"}: true,
|
||||||
|
{Group: "extensions", Version: "v1beta1", Kind: "NetworkPolicy"}: true,
|
||||||
|
{Group: "extensions", Version: "v1beta1", Kind: "PodSecurityPolicy"}: true,
|
||||||
|
{Group: "extensions", Version: "v1beta1", Kind: "ReplicaSet"}: true,
|
||||||
|
|
||||||
|
{Group: "apps", Version: "v1beta1", Kind: "ControllerRevision"}: true,
|
||||||
|
{Group: "apps", Version: "v1beta1", Kind: "DaemonSet"}: true,
|
||||||
|
{Group: "apps", Version: "v1beta1", Kind: "Deployment"}: true,
|
||||||
|
{Group: "apps", Version: "v1beta1", Kind: "ReplicaSet"}: true,
|
||||||
|
{Group: "apps", Version: "v1beta1", Kind: "StatefulSet"}: true,
|
||||||
|
|
||||||
|
{Group: "apps", Version: "v1beta2", Kind: "ControllerRevision"}: true,
|
||||||
|
{Group: "apps", Version: "v1beta2", Kind: "DaemonSet"}: true,
|
||||||
|
{Group: "apps", Version: "v1beta2", Kind: "Deployment"}: true,
|
||||||
|
{Group: "apps", Version: "v1beta2", Kind: "ReplicaSet"}: true,
|
||||||
|
{Group: "apps", Version: "v1beta2", Kind: "StatefulSet"}: true,
|
||||||
|
}
|
||||||
|
|
||||||
func TestServerSidePrint(t *testing.T) {
|
func TestServerSidePrint(t *testing.T) {
|
||||||
s, _, closeFn := setupWithResources(t,
|
s, _, closeFn := setupWithResources(t,
|
||||||
// additional groupversions needed for the test to run
|
// additional groupversions needed for the test to run
|
||||||
@ -156,19 +167,11 @@ func TestServerSidePrint(t *testing.T) {
|
|||||||
settingsv1alpha1.SchemeGroupVersion,
|
settingsv1alpha1.SchemeGroupVersion,
|
||||||
schedulerapi.SchemeGroupVersion,
|
schedulerapi.SchemeGroupVersion,
|
||||||
storagev1alpha1.SchemeGroupVersion,
|
storagev1alpha1.SchemeGroupVersion,
|
||||||
appsv1beta1.SchemeGroupVersion,
|
|
||||||
appsv1beta2.SchemeGroupVersion,
|
|
||||||
extensionsv1beta1.SchemeGroupVersion,
|
extensionsv1beta1.SchemeGroupVersion,
|
||||||
nodev1alpha1.SchemeGroupVersion,
|
nodev1alpha1.SchemeGroupVersion,
|
||||||
flowcontrolv1alpha1.SchemeGroupVersion,
|
flowcontrolv1alpha1.SchemeGroupVersion,
|
||||||
},
|
},
|
||||||
[]schema.GroupVersionResource{
|
[]schema.GroupVersionResource{},
|
||||||
extensionsv1beta1.SchemeGroupVersion.WithResource("daemonsets"),
|
|
||||||
extensionsv1beta1.SchemeGroupVersion.WithResource("deployments"),
|
|
||||||
extensionsv1beta1.SchemeGroupVersion.WithResource("networkpolicies"),
|
|
||||||
extensionsv1beta1.SchemeGroupVersion.WithResource("podsecuritypolicies"),
|
|
||||||
extensionsv1beta1.SchemeGroupVersion.WithResource("replicasets"),
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
defer closeFn()
|
defer closeFn()
|
||||||
|
|
||||||
@ -220,6 +223,9 @@ func TestServerSidePrint(t *testing.T) {
|
|||||||
// read table definition as returned by the server
|
// read table definition as returned by the server
|
||||||
mapping, err := mapper.RESTMapping(gvk.GroupKind(), gvk.Version)
|
mapping, err := mapper.RESTMapping(gvk.GroupKind(), gvk.Version)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
if unservedTypes[gvk] {
|
||||||
|
continue
|
||||||
|
}
|
||||||
t.Errorf("unexpected error getting mapping for GVK %s: %v", gvk, err)
|
t.Errorf("unexpected error getting mapping for GVK %s: %v", gvk, err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
@ -213,7 +213,7 @@ func TestDryRun(t *testing.T) {
|
|||||||
// start API server
|
// start API server
|
||||||
s, err := kubeapiservertesting.StartTestServer(t, kubeapiservertesting.NewDefaultTestServerOptions(), []string{
|
s, err := kubeapiservertesting.StartTestServer(t, kubeapiservertesting.NewDefaultTestServerOptions(), []string{
|
||||||
"--disable-admission-plugins=ServiceAccount,StorageObjectInUseProtection",
|
"--disable-admission-plugins=ServiceAccount,StorageObjectInUseProtection",
|
||||||
"--runtime-config=extensions/v1beta1/deployments=true,extensions/v1beta1/daemonsets=true,extensions/v1beta1/replicasets=true,extensions/v1beta1/podsecuritypolicies=true,extensions/v1beta1/networkpolicies=true",
|
"--runtime-config=api/all=true",
|
||||||
}, framework.SharedEtcd())
|
}, framework.SharedEtcd())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
|
@ -101,52 +101,6 @@ func GetEtcdStorageDataForNamespace(namespace string) map[schema.GroupVersionRes
|
|||||||
},
|
},
|
||||||
// --
|
// --
|
||||||
|
|
||||||
// k8s.io/kubernetes/pkg/apis/apps/v1beta1
|
|
||||||
gvr("apps", "v1beta1", "statefulsets"): {
|
|
||||||
Stub: `{"metadata": {"name": "ss1"}, "spec": {"selector": {"matchLabels": {"a": "b"}}, "template": {"metadata": {"labels": {"a": "b"}}}}}`,
|
|
||||||
ExpectedEtcdPath: "/registry/statefulsets/" + namespace + "/ss1",
|
|
||||||
ExpectedGVK: gvkP("apps", "v1", "StatefulSet"),
|
|
||||||
},
|
|
||||||
gvr("apps", "v1beta1", "deployments"): {
|
|
||||||
Stub: `{"metadata": {"name": "deployment2"}, "spec": {"selector": {"matchLabels": {"f": "z"}}, "template": {"metadata": {"labels": {"f": "z"}}, "spec": {"containers": [{"image": "fedora:latest", "name": "container6"}]}}}}`,
|
|
||||||
ExpectedEtcdPath: "/registry/deployments/" + namespace + "/deployment2",
|
|
||||||
ExpectedGVK: gvkP("apps", "v1", "Deployment"),
|
|
||||||
},
|
|
||||||
gvr("apps", "v1beta1", "controllerrevisions"): {
|
|
||||||
Stub: `{"metadata":{"name":"crs1"},"data":{"name":"abc","namespace":"default","creationTimestamp":null,"Spec":{"Replicas":0,"Selector":{"matchLabels":{"foo":"bar"}},"Template":{"creationTimestamp":null,"labels":{"foo":"bar"},"Spec":{"Volumes":null,"InitContainers":null,"Containers":null,"RestartPolicy":"Always","TerminationGracePeriodSeconds":null,"ActiveDeadlineSeconds":null,"DNSPolicy":"ClusterFirst","NodeSelector":null,"ServiceAccountName":"","AutomountServiceAccountToken":null,"NodeName":"","SecurityContext":null,"ImagePullSecrets":null,"Hostname":"","Subdomain":"","Affinity":null,"SchedulerName":"","Tolerations":null,"HostAliases":null}},"VolumeClaimTemplates":null,"ServiceName":""},"Status":{"ObservedGeneration":null,"Replicas":0}},"revision":0}`,
|
|
||||||
ExpectedEtcdPath: "/registry/controllerrevisions/" + namespace + "/crs1",
|
|
||||||
ExpectedGVK: gvkP("apps", "v1", "ControllerRevision"),
|
|
||||||
},
|
|
||||||
// --
|
|
||||||
|
|
||||||
// k8s.io/kubernetes/pkg/apis/apps/v1beta2
|
|
||||||
gvr("apps", "v1beta2", "statefulsets"): {
|
|
||||||
Stub: `{"metadata": {"name": "ss2"}, "spec": {"selector": {"matchLabels": {"a": "b"}}, "template": {"metadata": {"labels": {"a": "b"}}}}}`,
|
|
||||||
ExpectedEtcdPath: "/registry/statefulsets/" + namespace + "/ss2",
|
|
||||||
ExpectedGVK: gvkP("apps", "v1", "StatefulSet"),
|
|
||||||
},
|
|
||||||
gvr("apps", "v1beta2", "deployments"): {
|
|
||||||
Stub: `{"metadata": {"name": "deployment3"}, "spec": {"selector": {"matchLabels": {"f": "z"}}, "template": {"metadata": {"labels": {"f": "z"}}, "spec": {"containers": [{"image": "fedora:latest", "name": "container6"}]}}}}`,
|
|
||||||
ExpectedEtcdPath: "/registry/deployments/" + namespace + "/deployment3",
|
|
||||||
ExpectedGVK: gvkP("apps", "v1", "Deployment"),
|
|
||||||
},
|
|
||||||
gvr("apps", "v1beta2", "daemonsets"): {
|
|
||||||
Stub: `{"metadata": {"name": "ds5"}, "spec": {"selector": {"matchLabels": {"a": "b"}}, "template": {"metadata": {"labels": {"a": "b"}}, "spec": {"containers": [{"image": "fedora:latest", "name": "container6"}]}}}}`,
|
|
||||||
ExpectedEtcdPath: "/registry/daemonsets/" + namespace + "/ds5",
|
|
||||||
ExpectedGVK: gvkP("apps", "v1", "DaemonSet"),
|
|
||||||
},
|
|
||||||
gvr("apps", "v1beta2", "replicasets"): {
|
|
||||||
Stub: `{"metadata": {"name": "rs2"}, "spec": {"selector": {"matchLabels": {"g": "h"}}, "template": {"metadata": {"labels": {"g": "h"}}, "spec": {"containers": [{"image": "fedora:latest", "name": "container4"}]}}}}`,
|
|
||||||
ExpectedEtcdPath: "/registry/replicasets/" + namespace + "/rs2",
|
|
||||||
ExpectedGVK: gvkP("apps", "v1", "ReplicaSet"),
|
|
||||||
},
|
|
||||||
gvr("apps", "v1beta2", "controllerrevisions"): {
|
|
||||||
Stub: `{"metadata":{"name":"crs2"},"data":{"name":"abc","namespace":"default","creationTimestamp":null,"Spec":{"Replicas":0,"Selector":{"matchLabels":{"foo":"bar"}},"Template":{"creationTimestamp":null,"labels":{"foo":"bar"},"Spec":{"Volumes":null,"InitContainers":null,"Containers":null,"RestartPolicy":"Always","TerminationGracePeriodSeconds":null,"ActiveDeadlineSeconds":null,"DNSPolicy":"ClusterFirst","NodeSelector":null,"ServiceAccountName":"","AutomountServiceAccountToken":null,"NodeName":"","SecurityContext":null,"ImagePullSecrets":null,"Hostname":"","Subdomain":"","Affinity":null,"SchedulerName":"","Tolerations":null,"HostAliases":null}},"VolumeClaimTemplates":null,"ServiceName":""},"Status":{"ObservedGeneration":null,"Replicas":0}},"revision":0}`,
|
|
||||||
ExpectedEtcdPath: "/registry/controllerrevisions/" + namespace + "/crs2",
|
|
||||||
ExpectedGVK: gvkP("apps", "v1", "ControllerRevision"),
|
|
||||||
},
|
|
||||||
// --
|
|
||||||
|
|
||||||
// k8s.io/kubernetes/pkg/apis/apps/v1
|
// k8s.io/kubernetes/pkg/apis/apps/v1
|
||||||
gvr("apps", "v1", "daemonsets"): {
|
gvr("apps", "v1", "daemonsets"): {
|
||||||
Stub: `{"metadata": {"name": "ds6"}, "spec": {"selector": {"matchLabels": {"a": "b"}}, "template": {"metadata": {"labels": {"a": "b"}}, "spec": {"containers": [{"image": "fedora:latest", "name": "container6"}]}}}}`,
|
Stub: `{"metadata": {"name": "ds6"}, "spec": {"selector": {"matchLabels": {"a": "b"}}, "template": {"metadata": {"labels": {"a": "b"}}, "spec": {"containers": [{"image": "fedora:latest", "name": "container6"}]}}}}`,
|
||||||
@ -253,36 +207,11 @@ func GetEtcdStorageDataForNamespace(namespace string) map[schema.GroupVersionRes
|
|||||||
// --
|
// --
|
||||||
|
|
||||||
// k8s.io/kubernetes/pkg/apis/extensions/v1beta1
|
// k8s.io/kubernetes/pkg/apis/extensions/v1beta1
|
||||||
gvr("extensions", "v1beta1", "daemonsets"): {
|
|
||||||
Stub: `{"metadata": {"name": "ds1"}, "spec": {"selector": {"matchLabels": {"u": "t"}}, "template": {"metadata": {"labels": {"u": "t"}}, "spec": {"containers": [{"image": "fedora:latest", "name": "container5"}]}}}}`,
|
|
||||||
ExpectedEtcdPath: "/registry/daemonsets/" + namespace + "/ds1",
|
|
||||||
ExpectedGVK: gvkP("apps", "v1", "DaemonSet"),
|
|
||||||
},
|
|
||||||
gvr("extensions", "v1beta1", "podsecuritypolicies"): {
|
|
||||||
Stub: `{"metadata": {"name": "psp1"}, "spec": {"fsGroup": {"rule": "RunAsAny"}, "privileged": true, "runAsUser": {"rule": "RunAsAny"}, "seLinux": {"rule": "MustRunAs"}, "supplementalGroups": {"rule": "RunAsAny"}}}`,
|
|
||||||
ExpectedEtcdPath: "/registry/podsecuritypolicy/psp1",
|
|
||||||
ExpectedGVK: gvkP("policy", "v1beta1", "PodSecurityPolicy"),
|
|
||||||
},
|
|
||||||
gvr("extensions", "v1beta1", "ingresses"): {
|
gvr("extensions", "v1beta1", "ingresses"): {
|
||||||
Stub: `{"metadata": {"name": "ingress1"}, "spec": {"backend": {"serviceName": "service", "servicePort": 5000}}}`,
|
Stub: `{"metadata": {"name": "ingress1"}, "spec": {"backend": {"serviceName": "service", "servicePort": 5000}}}`,
|
||||||
ExpectedEtcdPath: "/registry/ingress/" + namespace + "/ingress1",
|
ExpectedEtcdPath: "/registry/ingress/" + namespace + "/ingress1",
|
||||||
ExpectedGVK: gvkP("networking.k8s.io", "v1beta1", "Ingress"),
|
ExpectedGVK: gvkP("networking.k8s.io", "v1beta1", "Ingress"),
|
||||||
},
|
},
|
||||||
gvr("extensions", "v1beta1", "networkpolicies"): {
|
|
||||||
Stub: `{"metadata": {"name": "np1"}, "spec": {"podSelector": {"matchLabels": {"e": "f"}}}}`,
|
|
||||||
ExpectedEtcdPath: "/registry/networkpolicies/" + namespace + "/np1",
|
|
||||||
ExpectedGVK: gvkP("networking.k8s.io", "v1", "NetworkPolicy"),
|
|
||||||
},
|
|
||||||
gvr("extensions", "v1beta1", "deployments"): {
|
|
||||||
Stub: `{"metadata": {"name": "deployment1"}, "spec": {"selector": {"matchLabels": {"f": "z"}}, "template": {"metadata": {"labels": {"f": "z"}}, "spec": {"containers": [{"image": "fedora:latest", "name": "container6"}]}}}}`,
|
|
||||||
ExpectedEtcdPath: "/registry/deployments/" + namespace + "/deployment1",
|
|
||||||
ExpectedGVK: gvkP("apps", "v1", "Deployment"),
|
|
||||||
},
|
|
||||||
gvr("extensions", "v1beta1", "replicasets"): {
|
|
||||||
Stub: `{"metadata": {"name": "rs1"}, "spec": {"selector": {"matchLabels": {"g": "h"}}, "template": {"metadata": {"labels": {"g": "h"}}, "spec": {"containers": [{"image": "fedora:latest", "name": "container4"}]}}}}`,
|
|
||||||
ExpectedEtcdPath: "/registry/replicasets/" + namespace + "/rs1",
|
|
||||||
ExpectedGVK: gvkP("apps", "v1", "ReplicaSet"),
|
|
||||||
},
|
|
||||||
// --
|
// --
|
||||||
|
|
||||||
// k8s.io/kubernetes/pkg/apis/networking/v1beta1
|
// k8s.io/kubernetes/pkg/apis/networking/v1beta1
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
"k8s.io/apimachinery/pkg/api/meta"
|
"k8s.io/apimachinery/pkg/api/meta"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||||
@ -37,12 +37,6 @@ import (
|
|||||||
func TestCrossGroupStorage(t *testing.T) {
|
func TestCrossGroupStorage(t *testing.T) {
|
||||||
master := StartRealMasterOrDie(t, func(opts *options.ServerRunOptions) {
|
master := StartRealMasterOrDie(t, func(opts *options.ServerRunOptions) {
|
||||||
// force enable all resources so we can check storage.
|
// force enable all resources so we can check storage.
|
||||||
// TODO: drop these once we stop allowing them to be served.
|
|
||||||
opts.APIEnablement.RuntimeConfig["extensions/v1beta1/deployments"] = "true"
|
|
||||||
opts.APIEnablement.RuntimeConfig["extensions/v1beta1/daemonsets"] = "true"
|
|
||||||
opts.APIEnablement.RuntimeConfig["extensions/v1beta1/replicasets"] = "true"
|
|
||||||
opts.APIEnablement.RuntimeConfig["extensions/v1beta1/podsecuritypolicies"] = "true"
|
|
||||||
opts.APIEnablement.RuntimeConfig["extensions/v1beta1/networkpolicies"] = "true"
|
|
||||||
})
|
})
|
||||||
defer master.Cleanup()
|
defer master.Cleanup()
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ import (
|
|||||||
|
|
||||||
"go.etcd.io/etcd/clientv3"
|
"go.etcd.io/etcd/clientv3"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
||||||
"k8s.io/apimachinery/pkg/api/meta"
|
"k8s.io/apimachinery/pkg/api/meta"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
@ -51,13 +51,6 @@ const testNamespace = "etcdstoragepathtestnamespace"
|
|||||||
// it essentially means that you will be break old clusters unless you create some migration path for the old data.
|
// it essentially means that you will be break old clusters unless you create some migration path for the old data.
|
||||||
func TestEtcdStoragePath(t *testing.T) {
|
func TestEtcdStoragePath(t *testing.T) {
|
||||||
master := StartRealMasterOrDie(t, func(opts *options.ServerRunOptions) {
|
master := StartRealMasterOrDie(t, func(opts *options.ServerRunOptions) {
|
||||||
// force enable all resources so we can check storage.
|
|
||||||
// TODO: drop these once we stop allowing them to be served.
|
|
||||||
opts.APIEnablement.RuntimeConfig["extensions/v1beta1/deployments"] = "true"
|
|
||||||
opts.APIEnablement.RuntimeConfig["extensions/v1beta1/daemonsets"] = "true"
|
|
||||||
opts.APIEnablement.RuntimeConfig["extensions/v1beta1/replicasets"] = "true"
|
|
||||||
opts.APIEnablement.RuntimeConfig["extensions/v1beta1/podsecuritypolicies"] = "true"
|
|
||||||
opts.APIEnablement.RuntimeConfig["extensions/v1beta1/networkpolicies"] = "true"
|
|
||||||
})
|
})
|
||||||
defer master.Cleanup()
|
defer master.Cleanup()
|
||||||
defer dumpEtcdKVOnFailure(t, master.KV)
|
defer dumpEtcdKVOnFailure(t, master.KV)
|
||||||
|
@ -54,8 +54,7 @@ func TestMain(m *testing.M) {
|
|||||||
func TestScaleSubresources(t *testing.T) {
|
func TestScaleSubresources(t *testing.T) {
|
||||||
clientSet, tearDown := setupWithOptions(t, nil, []string{
|
clientSet, tearDown := setupWithOptions(t, nil, []string{
|
||||||
"--runtime-config",
|
"--runtime-config",
|
||||||
// TODO(liggitt): remove these once apps/v1beta1, apps/v1beta2, and extensions/v1beta1 can no longer be served
|
"api/all=true",
|
||||||
"api/all=true,extensions/v1beta1/deployments=true,extensions/v1beta1/replicationcontrollers=true,extensions/v1beta1/replicasets=true",
|
|
||||||
})
|
})
|
||||||
defer tearDown()
|
defer tearDown()
|
||||||
|
|
||||||
@ -67,18 +66,6 @@ func TestScaleSubresources(t *testing.T) {
|
|||||||
expectedScaleSubresources := map[schema.GroupVersionResource]schema.GroupVersionKind{
|
expectedScaleSubresources := map[schema.GroupVersionResource]schema.GroupVersionKind{
|
||||||
makeGVR("", "v1", "replicationcontrollers/scale"): makeGVK("autoscaling", "v1", "Scale"),
|
makeGVR("", "v1", "replicationcontrollers/scale"): makeGVK("autoscaling", "v1", "Scale"),
|
||||||
|
|
||||||
// TODO(liggitt): remove these once apps/v1beta1, apps/v1beta2, and extensions/v1beta1 can no longer be served
|
|
||||||
makeGVR("extensions", "v1beta1", "deployments/scale"): makeGVK("extensions", "v1beta1", "Scale"),
|
|
||||||
makeGVR("extensions", "v1beta1", "replicationcontrollers/scale"): makeGVK("extensions", "v1beta1", "Scale"),
|
|
||||||
makeGVR("extensions", "v1beta1", "replicasets/scale"): makeGVK("extensions", "v1beta1", "Scale"),
|
|
||||||
|
|
||||||
makeGVR("apps", "v1beta1", "deployments/scale"): makeGVK("apps", "v1beta1", "Scale"),
|
|
||||||
makeGVR("apps", "v1beta1", "statefulsets/scale"): makeGVK("apps", "v1beta1", "Scale"),
|
|
||||||
|
|
||||||
makeGVR("apps", "v1beta2", "deployments/scale"): makeGVK("apps", "v1beta2", "Scale"),
|
|
||||||
makeGVR("apps", "v1beta2", "replicasets/scale"): makeGVK("apps", "v1beta2", "Scale"),
|
|
||||||
makeGVR("apps", "v1beta2", "statefulsets/scale"): makeGVK("apps", "v1beta2", "Scale"),
|
|
||||||
|
|
||||||
makeGVR("apps", "v1", "deployments/scale"): makeGVK("autoscaling", "v1", "Scale"),
|
makeGVR("apps", "v1", "deployments/scale"): makeGVK("autoscaling", "v1", "Scale"),
|
||||||
makeGVR("apps", "v1", "replicasets/scale"): makeGVK("autoscaling", "v1", "Scale"),
|
makeGVR("apps", "v1", "replicasets/scale"): makeGVK("autoscaling", "v1", "Scale"),
|
||||||
makeGVR("apps", "v1", "statefulsets/scale"): makeGVK("autoscaling", "v1", "Scale"),
|
makeGVR("apps", "v1", "statefulsets/scale"): makeGVK("autoscaling", "v1", "Scale"),
|
||||||
|
Loading…
Reference in New Issue
Block a user