mirror of https://github.com/kubernetes/kops.git
Refactor NewAssetBuilder to not take a Cluster
This commit is contained in:
parent
b07168c985
commit
c68be498c6
|
@ -649,7 +649,7 @@ func RunCreateCluster(ctx context.Context, f *util.Factory, out io.Writer, c *Cr
|
|||
return err
|
||||
}
|
||||
|
||||
assetBuilder := assets.NewAssetBuilder(cluster, false)
|
||||
assetBuilder := assets.NewAssetBuilder(cluster.Spec.Assets, cluster.Spec.KubernetesVersion, false)
|
||||
fullCluster, err := cloudup.PopulateClusterSpec(ctx, clientset, cluster, cloud, assetBuilder)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
@ -263,7 +263,7 @@ func updateCluster(ctx context.Context, clientset simple.Clientset, oldCluster,
|
|||
return "", fmt.Errorf("error populating configuration: %v", err)
|
||||
}
|
||||
|
||||
assetBuilder := assets.NewAssetBuilder(newCluster, false)
|
||||
assetBuilder := assets.NewAssetBuilder(newCluster.Spec.Assets, newCluster.Spec.KubernetesVersion, false)
|
||||
fullCluster, err := cloudup.PopulateClusterSpec(ctx, clientset, newCluster, cloud, assetBuilder)
|
||||
if err != nil {
|
||||
return fmt.Sprintf("error populating cluster spec: %s", err), nil
|
||||
|
|
|
@ -298,7 +298,7 @@ func updateInstanceGroup(ctx context.Context, clientset simple.Clientset, channe
|
|||
return "", fmt.Errorf("error populating configuration: %v", err)
|
||||
}
|
||||
|
||||
assetBuilder := assets.NewAssetBuilder(cluster, false)
|
||||
assetBuilder := assets.NewAssetBuilder(cluster.Spec.Assets, cluster.Spec.KubernetesVersion, false)
|
||||
fullCluster, err := cloudup.PopulateClusterSpec(ctx, clientset, cluster, cloud, assetBuilder)
|
||||
if err != nil {
|
||||
return fmt.Sprintf("error populating cluster spec: %s", err), nil
|
||||
|
|
|
@ -299,7 +299,7 @@ func BuildNodeupModelContext(model *testutils.Model) (*NodeupModelContext, error
|
|||
func mockedPopulateClusterSpec(ctx context.Context, c *kops.Cluster, cloud fi.Cloud) (*kops.Cluster, error) {
|
||||
vfs.Context.ResetMemfsContext(true)
|
||||
|
||||
assetBuilder := assets.NewAssetBuilder(c, false)
|
||||
assetBuilder := assets.NewAssetBuilder(c.Spec.Assets, c.Spec.KubernetesVersion, false)
|
||||
basePath, err := vfs.Context.BuildVfsPath("memfs://tests")
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error building vfspath: %v", err)
|
||||
|
|
|
@ -37,7 +37,7 @@ func Test_Strategy(t *testing.T) {
|
|||
cluster := &kops.Cluster{
|
||||
Spec: kops.ClusterSpec{
|
||||
ConfigStore: "s3://my_state_store/cluster",
|
||||
Assets: &kops.Assets{
|
||||
Assets: &kops.AssetsSpec{
|
||||
FileRepository: values.String("https://s3.amazonaws.com/test"),
|
||||
},
|
||||
},
|
||||
|
@ -66,7 +66,7 @@ func Test_In_StateStore(t *testing.T) {
|
|||
cluster := &kops.Cluster{
|
||||
Spec: kops.ClusterSpec{
|
||||
ConfigStore: "s3://my_state_store/cluster",
|
||||
Assets: &kops.Assets{
|
||||
Assets: &kops.AssetsSpec{
|
||||
FileRepository: values.String("https://s3.amazonaws.com/my_state_store/opps"),
|
||||
},
|
||||
},
|
||||
|
|
|
@ -144,7 +144,7 @@ type ClusterSpec struct {
|
|||
// Hooks for custom actions e.g. on first installation
|
||||
Hooks []HookSpec `json:"hooks,omitempty"`
|
||||
// Assets is alternative locations for files and containers; the API under construction, will remove this comment once this API is fully functional.
|
||||
Assets *Assets `json:"assets,omitempty"`
|
||||
Assets *AssetsSpec `json:"assets,omitempty"`
|
||||
// IAM field adds control over the IAM security policies applied to resources
|
||||
IAM *IAMSpec `json:"iam,omitempty"`
|
||||
// EncryptionConfig controls if encryption is enabled
|
||||
|
@ -325,8 +325,8 @@ type FileAssetSpec struct {
|
|||
Mode string `json:"mode,omitempty"`
|
||||
}
|
||||
|
||||
// Assets defines the privately hosted assets
|
||||
type Assets struct {
|
||||
// AssetsSpec defines the privately hosted assets
|
||||
type AssetsSpec struct {
|
||||
// ContainerRegistry is a url for to a docker registry
|
||||
ContainerRegistry *string `json:"containerRegistry,omitempty"`
|
||||
// FileRepository is the url for a private file serving repository
|
||||
|
|
|
@ -213,7 +213,7 @@ type ClusterSpec struct {
|
|||
// Hooks for custom actions e.g. on first installation
|
||||
Hooks []HookSpec `json:"hooks,omitempty"`
|
||||
// Alternative locations for files and containers
|
||||
Assets *Assets `json:"assets,omitempty"`
|
||||
Assets *AssetsSpec `json:"assets,omitempty"`
|
||||
// IAM field adds control over the IAM security policies applied to resources
|
||||
IAM *IAMSpec `json:"iam,omitempty"`
|
||||
// EncryptionConfig holds the encryption config
|
||||
|
@ -334,8 +334,8 @@ type FileAssetSpec struct {
|
|||
Mode string `json:"mode,omitempty"`
|
||||
}
|
||||
|
||||
// Assets defined the privately hosted assets
|
||||
type Assets struct {
|
||||
// AssetsSpec defined the privately hosted assets
|
||||
type AssetsSpec struct {
|
||||
// ContainerRegistry is a url for to a docker registry
|
||||
ContainerRegistry *string `json:"containerRegistry,omitempty"`
|
||||
// FileRepository is the url for a private file serving repository
|
||||
|
|
|
@ -124,13 +124,13 @@ func RegisterConversions(s *runtime.Scheme) error {
|
|||
}); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := s.AddGeneratedConversionFunc((*Assets)(nil), (*kops.Assets)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||
return Convert_v1alpha2_Assets_To_kops_Assets(a.(*Assets), b.(*kops.Assets), scope)
|
||||
if err := s.AddGeneratedConversionFunc((*AssetsSpec)(nil), (*kops.AssetsSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||
return Convert_v1alpha2_AssetsSpec_To_kops_AssetsSpec(a.(*AssetsSpec), b.(*kops.AssetsSpec), scope)
|
||||
}); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := s.AddGeneratedConversionFunc((*kops.Assets)(nil), (*Assets)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||
return Convert_kops_Assets_To_v1alpha2_Assets(a.(*kops.Assets), b.(*Assets), scope)
|
||||
if err := s.AddGeneratedConversionFunc((*kops.AssetsSpec)(nil), (*AssetsSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||
return Convert_kops_AssetsSpec_To_v1alpha2_AssetsSpec(a.(*kops.AssetsSpec), b.(*AssetsSpec), scope)
|
||||
}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -1525,28 +1525,28 @@ func Convert_kops_AmazonVPCNetworkingSpec_To_v1alpha2_AmazonVPCNetworkingSpec(in
|
|||
return autoConvert_kops_AmazonVPCNetworkingSpec_To_v1alpha2_AmazonVPCNetworkingSpec(in, out, s)
|
||||
}
|
||||
|
||||
func autoConvert_v1alpha2_Assets_To_kops_Assets(in *Assets, out *kops.Assets, s conversion.Scope) error {
|
||||
func autoConvert_v1alpha2_AssetsSpec_To_kops_AssetsSpec(in *AssetsSpec, out *kops.AssetsSpec, s conversion.Scope) error {
|
||||
out.ContainerRegistry = in.ContainerRegistry
|
||||
out.FileRepository = in.FileRepository
|
||||
out.ContainerProxy = in.ContainerProxy
|
||||
return nil
|
||||
}
|
||||
|
||||
// Convert_v1alpha2_Assets_To_kops_Assets is an autogenerated conversion function.
|
||||
func Convert_v1alpha2_Assets_To_kops_Assets(in *Assets, out *kops.Assets, s conversion.Scope) error {
|
||||
return autoConvert_v1alpha2_Assets_To_kops_Assets(in, out, s)
|
||||
// Convert_v1alpha2_AssetsSpec_To_kops_AssetsSpec is an autogenerated conversion function.
|
||||
func Convert_v1alpha2_AssetsSpec_To_kops_AssetsSpec(in *AssetsSpec, out *kops.AssetsSpec, s conversion.Scope) error {
|
||||
return autoConvert_v1alpha2_AssetsSpec_To_kops_AssetsSpec(in, out, s)
|
||||
}
|
||||
|
||||
func autoConvert_kops_Assets_To_v1alpha2_Assets(in *kops.Assets, out *Assets, s conversion.Scope) error {
|
||||
func autoConvert_kops_AssetsSpec_To_v1alpha2_AssetsSpec(in *kops.AssetsSpec, out *AssetsSpec, s conversion.Scope) error {
|
||||
out.ContainerRegistry = in.ContainerRegistry
|
||||
out.FileRepository = in.FileRepository
|
||||
out.ContainerProxy = in.ContainerProxy
|
||||
return nil
|
||||
}
|
||||
|
||||
// Convert_kops_Assets_To_v1alpha2_Assets is an autogenerated conversion function.
|
||||
func Convert_kops_Assets_To_v1alpha2_Assets(in *kops.Assets, out *Assets, s conversion.Scope) error {
|
||||
return autoConvert_kops_Assets_To_v1alpha2_Assets(in, out, s)
|
||||
// Convert_kops_AssetsSpec_To_v1alpha2_AssetsSpec is an autogenerated conversion function.
|
||||
func Convert_kops_AssetsSpec_To_v1alpha2_AssetsSpec(in *kops.AssetsSpec, out *AssetsSpec, s conversion.Scope) error {
|
||||
return autoConvert_kops_AssetsSpec_To_v1alpha2_AssetsSpec(in, out, s)
|
||||
}
|
||||
|
||||
func autoConvert_v1alpha2_AuthenticationSpec_To_kops_AuthenticationSpec(in *AuthenticationSpec, out *kops.AuthenticationSpec, s conversion.Scope) error {
|
||||
|
@ -2592,8 +2592,8 @@ func autoConvert_v1alpha2_ClusterSpec_To_kops_ClusterSpec(in *ClusterSpec, out *
|
|||
}
|
||||
if in.Assets != nil {
|
||||
in, out := &in.Assets, &out.Assets
|
||||
*out = new(kops.Assets)
|
||||
if err := Convert_v1alpha2_Assets_To_kops_Assets(*in, *out, s); err != nil {
|
||||
*out = new(kops.AssetsSpec)
|
||||
if err := Convert_v1alpha2_AssetsSpec_To_kops_AssetsSpec(*in, *out, s); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
|
@ -2930,8 +2930,8 @@ func autoConvert_kops_ClusterSpec_To_v1alpha2_ClusterSpec(in *kops.ClusterSpec,
|
|||
}
|
||||
if in.Assets != nil {
|
||||
in, out := &in.Assets, &out.Assets
|
||||
*out = new(Assets)
|
||||
if err := Convert_kops_Assets_To_v1alpha2_Assets(*in, *out, s); err != nil {
|
||||
*out = new(AssetsSpec)
|
||||
if err := Convert_kops_AssetsSpec_To_v1alpha2_AssetsSpec(*in, *out, s); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -245,7 +245,7 @@ func (in *AmazonVPCNetworkingSpec) DeepCopy() *AmazonVPCNetworkingSpec {
|
|||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *Assets) DeepCopyInto(out *Assets) {
|
||||
func (in *AssetsSpec) DeepCopyInto(out *AssetsSpec) {
|
||||
*out = *in
|
||||
if in.ContainerRegistry != nil {
|
||||
in, out := &in.ContainerRegistry, &out.ContainerRegistry
|
||||
|
@ -265,12 +265,12 @@ func (in *Assets) DeepCopyInto(out *Assets) {
|
|||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Assets.
|
||||
func (in *Assets) DeepCopy() *Assets {
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssetsSpec.
|
||||
func (in *AssetsSpec) DeepCopy() *AssetsSpec {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(Assets)
|
||||
out := new(AssetsSpec)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
@ -1222,7 +1222,7 @@ func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec) {
|
|||
}
|
||||
if in.Assets != nil {
|
||||
in, out := &in.Assets, &out.Assets
|
||||
*out = new(Assets)
|
||||
*out = new(AssetsSpec)
|
||||
(*in).DeepCopyInto(*out)
|
||||
}
|
||||
if in.IAM != nil {
|
||||
|
|
|
@ -140,7 +140,7 @@ type ClusterSpec struct {
|
|||
// Hooks for custom actions e.g. on first installation
|
||||
Hooks []HookSpec `json:"hooks,omitempty"`
|
||||
// Alternative locations for files and containers
|
||||
Assets *Assets `json:"assets,omitempty"`
|
||||
Assets *AssetsSpec `json:"assets,omitempty"`
|
||||
// IAM field adds control over the IAM security policies applied to resources
|
||||
IAM *IAMSpec `json:"iam,omitempty"`
|
||||
// EncryptionConfig holds the encryption config
|
||||
|
@ -295,8 +295,8 @@ type FileAssetSpec struct {
|
|||
Mode string `json:"mode,omitempty"`
|
||||
}
|
||||
|
||||
// Assets defined the privately hosted assets
|
||||
type Assets struct {
|
||||
// AssetsSpec defined the privately hosted assets
|
||||
type AssetsSpec struct {
|
||||
// ContainerRegistry is a url for to a docker registry
|
||||
ContainerRegistry *string `json:"containerRegistry,omitempty"`
|
||||
// FileRepository is the url for a private file serving repository
|
||||
|
|
|
@ -134,13 +134,13 @@ func RegisterConversions(s *runtime.Scheme) error {
|
|||
}); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := s.AddGeneratedConversionFunc((*Assets)(nil), (*kops.Assets)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||
return Convert_v1alpha3_Assets_To_kops_Assets(a.(*Assets), b.(*kops.Assets), scope)
|
||||
if err := s.AddGeneratedConversionFunc((*AssetsSpec)(nil), (*kops.AssetsSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||
return Convert_v1alpha3_AssetsSpec_To_kops_AssetsSpec(a.(*AssetsSpec), b.(*kops.AssetsSpec), scope)
|
||||
}); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := s.AddGeneratedConversionFunc((*kops.Assets)(nil), (*Assets)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||
return Convert_kops_Assets_To_v1alpha3_Assets(a.(*kops.Assets), b.(*Assets), scope)
|
||||
if err := s.AddGeneratedConversionFunc((*kops.AssetsSpec)(nil), (*AssetsSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||
return Convert_kops_AssetsSpec_To_v1alpha3_AssetsSpec(a.(*kops.AssetsSpec), b.(*AssetsSpec), scope)
|
||||
}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -1653,28 +1653,28 @@ func Convert_kops_AmazonVPCNetworkingSpec_To_v1alpha3_AmazonVPCNetworkingSpec(in
|
|||
return autoConvert_kops_AmazonVPCNetworkingSpec_To_v1alpha3_AmazonVPCNetworkingSpec(in, out, s)
|
||||
}
|
||||
|
||||
func autoConvert_v1alpha3_Assets_To_kops_Assets(in *Assets, out *kops.Assets, s conversion.Scope) error {
|
||||
func autoConvert_v1alpha3_AssetsSpec_To_kops_AssetsSpec(in *AssetsSpec, out *kops.AssetsSpec, s conversion.Scope) error {
|
||||
out.ContainerRegistry = in.ContainerRegistry
|
||||
out.FileRepository = in.FileRepository
|
||||
out.ContainerProxy = in.ContainerProxy
|
||||
return nil
|
||||
}
|
||||
|
||||
// Convert_v1alpha3_Assets_To_kops_Assets is an autogenerated conversion function.
|
||||
func Convert_v1alpha3_Assets_To_kops_Assets(in *Assets, out *kops.Assets, s conversion.Scope) error {
|
||||
return autoConvert_v1alpha3_Assets_To_kops_Assets(in, out, s)
|
||||
// Convert_v1alpha3_AssetsSpec_To_kops_AssetsSpec is an autogenerated conversion function.
|
||||
func Convert_v1alpha3_AssetsSpec_To_kops_AssetsSpec(in *AssetsSpec, out *kops.AssetsSpec, s conversion.Scope) error {
|
||||
return autoConvert_v1alpha3_AssetsSpec_To_kops_AssetsSpec(in, out, s)
|
||||
}
|
||||
|
||||
func autoConvert_kops_Assets_To_v1alpha3_Assets(in *kops.Assets, out *Assets, s conversion.Scope) error {
|
||||
func autoConvert_kops_AssetsSpec_To_v1alpha3_AssetsSpec(in *kops.AssetsSpec, out *AssetsSpec, s conversion.Scope) error {
|
||||
out.ContainerRegistry = in.ContainerRegistry
|
||||
out.FileRepository = in.FileRepository
|
||||
out.ContainerProxy = in.ContainerProxy
|
||||
return nil
|
||||
}
|
||||
|
||||
// Convert_kops_Assets_To_v1alpha3_Assets is an autogenerated conversion function.
|
||||
func Convert_kops_Assets_To_v1alpha3_Assets(in *kops.Assets, out *Assets, s conversion.Scope) error {
|
||||
return autoConvert_kops_Assets_To_v1alpha3_Assets(in, out, s)
|
||||
// Convert_kops_AssetsSpec_To_v1alpha3_AssetsSpec is an autogenerated conversion function.
|
||||
func Convert_kops_AssetsSpec_To_v1alpha3_AssetsSpec(in *kops.AssetsSpec, out *AssetsSpec, s conversion.Scope) error {
|
||||
return autoConvert_kops_AssetsSpec_To_v1alpha3_AssetsSpec(in, out, s)
|
||||
}
|
||||
|
||||
func autoConvert_v1alpha3_AuthenticationSpec_To_kops_AuthenticationSpec(in *AuthenticationSpec, out *kops.AuthenticationSpec, s conversion.Scope) error {
|
||||
|
@ -2764,8 +2764,8 @@ func autoConvert_v1alpha3_ClusterSpec_To_kops_ClusterSpec(in *ClusterSpec, out *
|
|||
}
|
||||
if in.Assets != nil {
|
||||
in, out := &in.Assets, &out.Assets
|
||||
*out = new(kops.Assets)
|
||||
if err := Convert_v1alpha3_Assets_To_kops_Assets(*in, *out, s); err != nil {
|
||||
*out = new(kops.AssetsSpec)
|
||||
if err := Convert_v1alpha3_AssetsSpec_To_kops_AssetsSpec(*in, *out, s); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
|
@ -3098,8 +3098,8 @@ func autoConvert_kops_ClusterSpec_To_v1alpha3_ClusterSpec(in *kops.ClusterSpec,
|
|||
}
|
||||
if in.Assets != nil {
|
||||
in, out := &in.Assets, &out.Assets
|
||||
*out = new(Assets)
|
||||
if err := Convert_kops_Assets_To_v1alpha3_Assets(*in, *out, s); err != nil {
|
||||
*out = new(AssetsSpec)
|
||||
if err := Convert_kops_AssetsSpec_To_v1alpha3_AssetsSpec(*in, *out, s); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -312,7 +312,7 @@ func (in *AmazonVPCNetworkingSpec) DeepCopy() *AmazonVPCNetworkingSpec {
|
|||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *Assets) DeepCopyInto(out *Assets) {
|
||||
func (in *AssetsSpec) DeepCopyInto(out *AssetsSpec) {
|
||||
*out = *in
|
||||
if in.ContainerRegistry != nil {
|
||||
in, out := &in.ContainerRegistry, &out.ContainerRegistry
|
||||
|
@ -332,12 +332,12 @@ func (in *Assets) DeepCopyInto(out *Assets) {
|
|||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Assets.
|
||||
func (in *Assets) DeepCopy() *Assets {
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssetsSpec.
|
||||
func (in *AssetsSpec) DeepCopy() *AssetsSpec {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(Assets)
|
||||
out := new(AssetsSpec)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
@ -1123,7 +1123,7 @@ func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec) {
|
|||
}
|
||||
if in.Assets != nil {
|
||||
in, out := &in.Assets, &out.Assets
|
||||
*out = new(Assets)
|
||||
*out = new(AssetsSpec)
|
||||
(*in).DeepCopyInto(*out)
|
||||
}
|
||||
if in.IAM != nil {
|
||||
|
|
|
@ -311,7 +311,7 @@ func (in *AmazonVPCNetworkingSpec) DeepCopy() *AmazonVPCNetworkingSpec {
|
|||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *Assets) DeepCopyInto(out *Assets) {
|
||||
func (in *AssetsSpec) DeepCopyInto(out *AssetsSpec) {
|
||||
*out = *in
|
||||
if in.ContainerRegistry != nil {
|
||||
in, out := &in.ContainerRegistry, &out.ContainerRegistry
|
||||
|
@ -331,12 +331,12 @@ func (in *Assets) DeepCopyInto(out *Assets) {
|
|||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Assets.
|
||||
func (in *Assets) DeepCopy() *Assets {
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssetsSpec.
|
||||
func (in *AssetsSpec) DeepCopy() *AssetsSpec {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(Assets)
|
||||
out := new(AssetsSpec)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
@ -1220,7 +1220,7 @@ func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec) {
|
|||
}
|
||||
if in.Assets != nil {
|
||||
in, out := &in.Assets, &out.Assets
|
||||
*out = new(Assets)
|
||||
*out = new(AssetsSpec)
|
||||
(*in).DeepCopyInto(*out)
|
||||
}
|
||||
if in.IAM != nil {
|
||||
|
|
|
@ -44,7 +44,7 @@ import (
|
|||
type AssetBuilder struct {
|
||||
ImageAssets []*ImageAsset
|
||||
FileAssets []*FileAsset
|
||||
AssetsLocation *kops.Assets
|
||||
AssetsLocation *kops.AssetsSpec
|
||||
GetAssets bool
|
||||
|
||||
// KubernetesVersion is the version of kubernetes we are installing
|
||||
|
@ -101,16 +101,16 @@ type FileAsset struct {
|
|||
}
|
||||
|
||||
// NewAssetBuilder creates a new AssetBuilder.
|
||||
func NewAssetBuilder(cluster *kops.Cluster, getAssets bool) *AssetBuilder {
|
||||
func NewAssetBuilder(assets *kops.AssetsSpec, kubernetesVersion string, getAssets bool) *AssetBuilder {
|
||||
a := &AssetBuilder{
|
||||
AssetsLocation: cluster.Spec.Assets,
|
||||
AssetsLocation: assets,
|
||||
GetAssets: getAssets,
|
||||
}
|
||||
|
||||
version, err := util.ParseKubernetesVersion(cluster.Spec.KubernetesVersion)
|
||||
version, err := util.ParseKubernetesVersion(kubernetesVersion)
|
||||
if err != nil {
|
||||
// This should have already been validated
|
||||
klog.Fatalf("unexpected error from ParseKubernetesVersion %s: %v", cluster.Spec.KubernetesVersion, err)
|
||||
klog.Fatalf("unexpected error from ParseKubernetesVersion %s: %v", kubernetesVersion, err)
|
||||
}
|
||||
a.KubernetesVersion = *version
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ import (
|
|||
|
||||
func buildAssetBuilder(t *testing.T) *AssetBuilder {
|
||||
builder := &AssetBuilder{
|
||||
AssetsLocation: &kops.Assets{},
|
||||
AssetsLocation: &kops.AssetsSpec{},
|
||||
ImageAssets: []*ImageAsset{},
|
||||
}
|
||||
return builder
|
||||
|
|
|
@ -40,7 +40,7 @@ func UpdateCluster(ctx context.Context, clientset simple.Clientset, cluster *kop
|
|||
return fmt.Errorf("error populating configuration: %v", err)
|
||||
}
|
||||
|
||||
assetBuilder := assets.NewAssetBuilder(cluster, false)
|
||||
assetBuilder := assets.NewAssetBuilder(cluster.Spec.Assets, cluster.Spec.KubernetesVersion, false)
|
||||
fullCluster, err := cloudup.PopulateClusterSpec(ctx, clientset, cluster, cloud, assetBuilder)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -78,7 +78,7 @@ func UpdateInstanceGroup(ctx context.Context, clientset simple.Clientset, cluste
|
|||
return fmt.Errorf("error populating configuration: %v", err)
|
||||
}
|
||||
|
||||
assetBuilder := assets.NewAssetBuilder(cluster, false)
|
||||
assetBuilder := assets.NewAssetBuilder(cluster.Spec.Assets, cluster.Spec.KubernetesVersion, false)
|
||||
fullCluster, err := cloudup.PopulateClusterSpec(ctx, clientset, cluster, cloud, assetBuilder)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
@ -58,7 +58,7 @@ func getTestSetupOS(t *testing.T, ctx context.Context) (*RollingUpdateCluster, *
|
|||
t.Fatalf("Failed to perform assignments: %v", err)
|
||||
}
|
||||
|
||||
assetBuilder := assets.NewAssetBuilder(inCluster, false)
|
||||
assetBuilder := assets.NewAssetBuilder(inCluster.Spec.Assets, inCluster.Spec.KubernetesVersion, false)
|
||||
basePath, _ := vfs.Context.BuildVfsPath(inCluster.Spec.ConfigBase)
|
||||
clientset := vfsclientset.NewVFSClientset(basePath)
|
||||
cluster, err := cloudup.PopulateClusterSpec(ctx, clientset, inCluster, mockcloud, assetBuilder)
|
||||
|
|
|
@ -45,7 +45,7 @@ func Test_Build_Containerd_Supported_Version(t *testing.T) {
|
|||
|
||||
c := buildContainerdCluster(v)
|
||||
c.Spec.ContainerRuntime = "containerd"
|
||||
b := assets.NewAssetBuilder(c, false)
|
||||
b := assets.NewAssetBuilder(c.Spec.Assets, c.Spec.KubernetesVersion, false)
|
||||
|
||||
version, err := util.ParseKubernetesVersion(v)
|
||||
if err != nil {
|
||||
|
@ -80,7 +80,7 @@ func Test_Build_Containerd_Unneeded_Runtime(t *testing.T) {
|
|||
c.Spec.Docker = &kopsapi.DockerConfig{
|
||||
Version: &v,
|
||||
}
|
||||
b := assets.NewAssetBuilder(c, false)
|
||||
b := assets.NewAssetBuilder(c.Spec.Assets, c.Spec.KubernetesVersion, false)
|
||||
|
||||
ob := &ContainerdOptionsBuilder{
|
||||
&OptionsContext{
|
||||
|
@ -109,7 +109,7 @@ func Test_Build_Containerd_Needed_Runtime(t *testing.T) {
|
|||
c.Spec.Docker = &kopsapi.DockerConfig{
|
||||
Version: &v,
|
||||
}
|
||||
b := assets.NewAssetBuilder(c, false)
|
||||
b := assets.NewAssetBuilder(c.Spec.Assets, c.Spec.KubernetesVersion, false)
|
||||
|
||||
ob := &ContainerdOptionsBuilder{
|
||||
&OptionsContext{
|
||||
|
|
|
@ -52,7 +52,7 @@ func Test_RunEtcdManagerBuilder(t *testing.T) {
|
|||
|
||||
builder := EtcdManagerBuilder{
|
||||
KopsModelContext: kopsModelContext,
|
||||
AssetBuilder: assets.NewAssetBuilder(kopsModelContext.Cluster, false),
|
||||
AssetBuilder: assets.NewAssetBuilder(kopsModelContext.Cluster.Spec.Assets, kopsModelContext.Cluster.Spec.KubernetesVersion, false),
|
||||
}
|
||||
|
||||
if err := builder.Build(context); err != nil {
|
||||
|
|
|
@ -78,7 +78,7 @@ func TestImage(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
assetBuilder := assets.NewAssetBuilder(g.Cluster, false)
|
||||
assetBuilder := assets.NewAssetBuilder(g.Cluster.Spec.Assets, g.Cluster.Spec.KubernetesVersion, false)
|
||||
actual, err := Image(g.Component, &g.Cluster.Spec, assetBuilder)
|
||||
if err != nil {
|
||||
t.Errorf("unexpected error from image %q %v: %v",
|
||||
|
|
|
@ -49,7 +49,7 @@ func Test_RunKubeApiserverBuilder(t *testing.T) {
|
|||
|
||||
builder := KubeApiserverBuilder{
|
||||
KopsModelContext: kopsModelContext,
|
||||
AssetBuilder: assets.NewAssetBuilder(kopsModelContext.Cluster, false),
|
||||
AssetBuilder: assets.NewAssetBuilder(kopsModelContext.Cluster.Spec.Assets, kopsModelContext.Cluster.Spec.KubernetesVersion, false),
|
||||
}
|
||||
|
||||
if err := builder.Build(context); err != nil {
|
||||
|
|
|
@ -46,7 +46,7 @@ func Test_Build_KCM_Builder(t *testing.T) {
|
|||
|
||||
c := buildCluster()
|
||||
c.Spec.KubernetesVersion = v
|
||||
b := assets.NewAssetBuilder(c, false)
|
||||
b := assets.NewAssetBuilder(c.Spec.Assets, c.Spec.KubernetesVersion, false)
|
||||
|
||||
kcm := &KubeControllerManagerOptionsBuilder{
|
||||
OptionsContext: &OptionsContext{
|
||||
|
@ -67,7 +67,7 @@ func Test_Build_KCM_Builder(t *testing.T) {
|
|||
|
||||
func Test_Build_KCM_Builder_Change_Duration(t *testing.T) {
|
||||
c := buildCluster()
|
||||
b := assets.NewAssetBuilder(c, false)
|
||||
b := assets.NewAssetBuilder(c.Spec.Assets, c.Spec.KubernetesVersion, false)
|
||||
|
||||
kcm := &KubeControllerManagerOptionsBuilder{
|
||||
OptionsContext: &OptionsContext{
|
||||
|
@ -142,7 +142,7 @@ func Test_Build_KCM_Builder_CIDR_Mask_Size(t *testing.T) {
|
|||
for _, tc := range grid {
|
||||
t.Run(tc.PodCIDR+":"+tc.ClusterCIDR, func(t *testing.T) {
|
||||
c := buildCluster()
|
||||
b := assets.NewAssetBuilder(c, false)
|
||||
b := assets.NewAssetBuilder(c.Spec.Assets, c.Spec.KubernetesVersion, false)
|
||||
|
||||
kcm := &KubeControllerManagerOptionsBuilder{
|
||||
OptionsContext: &OptionsContext{
|
||||
|
|
|
@ -37,7 +37,7 @@ func buildKubeletTestCluster() *kops.Cluster {
|
|||
}
|
||||
|
||||
func buildOptions(cluster *kops.Cluster) error {
|
||||
ab := assets.NewAssetBuilder(cluster, false)
|
||||
ab := assets.NewAssetBuilder(cluster.Spec.Assets, cluster.Spec.KubernetesVersion, false)
|
||||
|
||||
ver, err := util.ParseKubernetesVersion(cluster.Spec.KubernetesVersion)
|
||||
if err != nil {
|
||||
|
|
|
@ -50,7 +50,7 @@ func Test_RunKubeSchedulerBuilder(t *testing.T) {
|
|||
|
||||
builder := KubeSchedulerBuilder{
|
||||
KopsModelContext: kopsModelContext,
|
||||
AssetBuilder: assets.NewAssetBuilder(kopsModelContext.Cluster, false),
|
||||
AssetBuilder: assets.NewAssetBuilder(kopsModelContext.Cluster.Spec.Assets, kopsModelContext.Cluster.Spec.KubernetesVersion, false),
|
||||
}
|
||||
|
||||
if err := builder.Build(context); err != nil {
|
||||
|
|
|
@ -47,7 +47,7 @@ func Test_Build_Scheduler_Without_PolicyConfigMap(t *testing.T) {
|
|||
|
||||
c := buildCluster()
|
||||
c.Spec.KubernetesVersion = v
|
||||
b := assets.NewAssetBuilder(c, false)
|
||||
b := assets.NewAssetBuilder(c.Spec.Assets, c.Spec.KubernetesVersion, false)
|
||||
|
||||
version, err := util.ParseKubernetesVersion(v)
|
||||
if err != nil {
|
||||
|
@ -75,7 +75,7 @@ func Test_Build_Scheduler_PolicyConfigMap_Supported_Version(t *testing.T) {
|
|||
for _, v := range versions {
|
||||
|
||||
c := buildSchedulerConfigMapCluster(v)
|
||||
b := assets.NewAssetBuilder(c, false)
|
||||
b := assets.NewAssetBuilder(c.Spec.Assets, c.Spec.KubernetesVersion, false)
|
||||
|
||||
version, err := util.ParseKubernetesVersion(v)
|
||||
if err != nil {
|
||||
|
|
|
@ -245,7 +245,7 @@ func (c *ApplyClusterCmd) Run(ctx context.Context) error {
|
|||
clusterLifecycle = fi.LifecycleIgnore
|
||||
}
|
||||
|
||||
assetBuilder := assets.NewAssetBuilder(c.Cluster, c.GetAssets)
|
||||
assetBuilder := assets.NewAssetBuilder(c.Cluster.Spec.Assets, c.Cluster.Spec.KubernetesVersion, c.GetAssets)
|
||||
err = c.upgradeSpecs(ctx, assetBuilder)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
@ -127,7 +127,7 @@ func checkNoChanges(t *testing.T, ctx context.Context, cloud fi.Cloud, allTasks
|
|||
KubernetesVersion: "v1.9.0",
|
||||
},
|
||||
}
|
||||
assetBuilder := assets.NewAssetBuilder(cluster, false)
|
||||
assetBuilder := assets.NewAssetBuilder(cluster.Spec.Assets, cluster.Spec.KubernetesVersion, false)
|
||||
target := fi.NewCloudupDryRunTarget(assetBuilder, os.Stderr)
|
||||
context, err := fi.NewCloudupContext(ctx, target, nil, cloud, nil, nil, nil, allTasks)
|
||||
if err != nil {
|
||||
|
|
|
@ -163,7 +163,7 @@ func runChannelBuilderTest(t *testing.T, key string, addonManifests []string) {
|
|||
bcb := bootstrapchannelbuilder.NewBootstrapChannelBuilder(
|
||||
&kopsModel,
|
||||
fi.LifecycleSync,
|
||||
assets.NewAssetBuilder(cluster, false),
|
||||
assets.NewAssetBuilder(cluster.Spec.Assets, cluster.Spec.KubernetesVersion, false),
|
||||
templates,
|
||||
nil,
|
||||
)
|
||||
|
|
|
@ -117,7 +117,7 @@ func doDryRun(t *testing.T, ctx context.Context, cloud fi.Cloud, allTasks map[st
|
|||
KubernetesVersion: "v1.23.0",
|
||||
},
|
||||
}
|
||||
assetBuilder := assets.NewAssetBuilder(cluster, false)
|
||||
assetBuilder := assets.NewAssetBuilder(cluster.Spec.Assets, cluster.Spec.KubernetesVersion, false)
|
||||
target := fi.NewCloudupDryRunTarget(assetBuilder, os.Stderr)
|
||||
context, err := fi.NewCloudupContext(ctx, target, nil, cloud, nil, nil, nil, allTasks)
|
||||
if err != nil {
|
||||
|
|
|
@ -34,7 +34,7 @@ func Test_FindCNIAssetFromEnvironmentVariable(t *testing.T) {
|
|||
cluster := &api.Cluster{}
|
||||
cluster.Spec.KubernetesVersion = "v1.18.0"
|
||||
|
||||
assetBuilder := assets.NewAssetBuilder(cluster, false)
|
||||
assetBuilder := assets.NewAssetBuilder(cluster.Spec.Assets, cluster.Spec.KubernetesVersion, false)
|
||||
cniAsset, cniAssetHash, err := findCNIAssets(cluster, assetBuilder, architectures.ArchitectureAmd64)
|
||||
if err != nil {
|
||||
t.Errorf("Unable to parse CNI version %s", err)
|
||||
|
@ -56,7 +56,7 @@ func Test_FindCNIAssetFromDefaults122(t *testing.T) {
|
|||
cluster := &api.Cluster{}
|
||||
cluster.Spec.KubernetesVersion = "v1.22.0"
|
||||
|
||||
assetBuilder := assets.NewAssetBuilder(cluster, false)
|
||||
assetBuilder := assets.NewAssetBuilder(cluster.Spec.Assets, cluster.Spec.KubernetesVersion, false)
|
||||
cniAsset, cniAssetHash, err := findCNIAssets(cluster, assetBuilder, architectures.ArchitectureAmd64)
|
||||
if err != nil {
|
||||
t.Errorf("Unable to parse CNI version %s", err)
|
||||
|
|
|
@ -110,7 +110,7 @@ func TestPopulateCluster_Subnets(t *testing.T) {
|
|||
func mockedPopulateClusterSpec(ctx context.Context, c *kopsapi.Cluster, cloud fi.Cloud) (*kopsapi.Cluster, error) {
|
||||
vfs.Context.ResetMemfsContext(true)
|
||||
|
||||
assetBuilder := assets.NewAssetBuilder(c, false)
|
||||
assetBuilder := assets.NewAssetBuilder(c.Spec.Assets, c.Spec.KubernetesVersion, false)
|
||||
basePath, err := vfs.Context.BuildVfsPath("memfs://tests")
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error building vfspath: %v", err)
|
||||
|
|
|
@ -181,7 +181,7 @@ func TestValidate_ClusterName_Import(t *testing.T) {
|
|||
func TestValidate_ContainerRegistry_and_ContainerProxy_exclusivity(t *testing.T) {
|
||||
c := buildDefaultCluster(t)
|
||||
|
||||
assets := new(api.Assets)
|
||||
assets := new(api.AssetsSpec)
|
||||
c.Spec.Assets = assets
|
||||
|
||||
expectNoErrorFromValidate(t, c)
|
||||
|
|
|
@ -22,7 +22,6 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
api "k8s.io/kops/pkg/apis/kops"
|
||||
"k8s.io/kops/pkg/assets"
|
||||
)
|
||||
|
||||
|
@ -67,11 +66,7 @@ func (*testTask) Run(_ *CloudupContext) error {
|
|||
}
|
||||
|
||||
func Test_DryrunTarget_PrintReport(t *testing.T) {
|
||||
builder := assets.NewAssetBuilder(&api.Cluster{
|
||||
Spec: api.ClusterSpec{
|
||||
KubernetesVersion: "1.17.3",
|
||||
},
|
||||
}, false)
|
||||
builder := assets.NewAssetBuilder(nil, "1.17.3", false)
|
||||
var stdout bytes.Buffer
|
||||
target := newDryRunTarget[CloudupSubContext](builder, &stdout)
|
||||
tasks := map[string]CloudupTask{}
|
||||
|
|
|
@ -367,7 +367,7 @@ func (c *NodeUpCommand) Run(out io.Writer) error {
|
|||
Cloud: cloud,
|
||||
}
|
||||
case "dryrun":
|
||||
assetBuilder := assets.NewAssetBuilder(c.cluster, false)
|
||||
assetBuilder := assets.NewAssetBuilder(c.cluster.Spec.Assets, c.cluster.Spec.KubernetesVersion, false)
|
||||
target = fi.NewNodeupDryRunTarget(assetBuilder, out)
|
||||
default:
|
||||
return fmt.Errorf("unsupported target type %q", c.Target)
|
||||
|
|
Loading…
Reference in New Issue