Fix based on Justins suggestion

This commit is contained in:
Rodrigo Menezes 2018-07-20 12:25:23 -07:00
parent 218d90632c
commit 74e8973c6c
8 changed files with 18 additions and 12 deletions

View File

@ -278,6 +278,15 @@ func (c *NodeupModelContext) UseNodeAuthorizer() bool {
return c.Cluster.Spec.NodeAuthorization.NodeAuthorizer != nil
}
// UsesSecondaryIP checks if the CNI in use attaches secondary interfaces to the host.
func (c *NodeupModelContext) UsesSecondaryIP() bool {
if c.Cluster.Spec.Networking.CNI.UsesSecondaryIP || c.Cluster.Spec.Networking.AmazonVPC != nil {
return true
}
return false
}
// UseBootstrapTokens checks if we are using bootstrap tokens
func (c *NodeupModelContext) UseBootstrapTokens() bool {
if c.IsMaster {

View File

@ -174,7 +174,7 @@ func (b *KubeletBuilder) buildSystemdEnvironmentFile(kubeletConfig *kops.Kubelet
flags += " --cni-conf-dir=" + b.CNIConfDir()
}
if kubeletConfig.BindPrimaryIP {
if b.UsesSecondaryIP() {
sess := session.Must(session.NewSession())
metadata := ec2metadata.New(sess)
localIpv4, err := metadata.GetMetadata("local-ipv4")

View File

@ -507,9 +507,7 @@ func (c *Cluster) FillDefaults() error {
} else if c.Spec.Networking.Romana != nil {
// OK
} else if c.Spec.Networking.AmazonVPC != nil {
// If we are using the AmazonVPC plugin we need to bind the kubelet to the local ipv4 address
c.Spec.Kubelet.BindPrimaryIP = true
c.Spec.MasterKubelet.BindPrimaryIP = true
// OK
} else if c.Spec.Networking.Cilium != nil {
if c.Spec.Networking.Cilium.Version == "" {
c.Spec.Networking.Cilium.Version = CiliumDefaultVersion

View File

@ -50,6 +50,7 @@ type ExternalNetworkingSpec struct {
// Networking is not managed by kops - we can create options here that directly configure e.g. weave
// but this is useful for arbitrary network modes or for modes that don't need additional configuration.
type CNINetworkingSpec struct {
UsesSecondaryIP bool `json:"usesSecondaryIP,omitempty"`
}
// KopeioNetworkingSpec declares that we want Kopeio networking

View File

@ -50,6 +50,7 @@ type ExternalNetworkingSpec struct {
// Networking is not managed by kops - we can create options here that directly configure e.g. weave
// but this is useful for arbitrary network modes or for modes that don't need additional configuration.
type CNINetworkingSpec struct {
UsesSecondaryIP bool `json:"usesSecondaryIP,omitempty"`
}
// KopeioNetworkingSpec declares that we want Kopeio networking

View File

@ -426,6 +426,7 @@ func Convert_kops_AwsAuthenticationSpec_To_v1alpha1_AwsAuthenticationSpec(in *ko
}
func autoConvert_v1alpha1_CNINetworkingSpec_To_kops_CNINetworkingSpec(in *CNINetworkingSpec, out *kops.CNINetworkingSpec, s conversion.Scope) error {
out.UsesSecondaryIP = in.UsesSecondaryIP
return nil
}
@ -435,6 +436,7 @@ func Convert_v1alpha1_CNINetworkingSpec_To_kops_CNINetworkingSpec(in *CNINetwork
}
func autoConvert_kops_CNINetworkingSpec_To_v1alpha1_CNINetworkingSpec(in *kops.CNINetworkingSpec, out *CNINetworkingSpec, s conversion.Scope) error {
out.UsesSecondaryIP = in.UsesSecondaryIP
return nil
}
@ -2642,11 +2644,7 @@ func autoConvert_kops_KubeletConfigSpec_To_v1alpha1_KubeletConfigSpec(in *kops.K
out.ExperimentalAllowedUnsafeSysctls = in.ExperimentalAllowedUnsafeSysctls
out.StreamingConnectionIdleTimeout = in.StreamingConnectionIdleTimeout
out.DockerDisableSharedPID = in.DockerDisableSharedPID
<<<<<<< HEAD
out.RootDir = in.RootDir
=======
out.BindPrimaryIP = in.BindPrimaryIP
>>>>>>> api machinery
return nil
}

View File

@ -50,6 +50,7 @@ type ExternalNetworkingSpec struct {
// Networking is not managed by kops - we can create options here that directly configure e.g. weave
// but this is useful for arbitrary network modes or for modes that don't need additional configuration.
type CNINetworkingSpec struct {
UsesSecondaryIP bool `json:"usesSecondaryIP,omitempty"`
}
// KopeioNetworkingSpec declares that we want Kopeio networking

View File

@ -462,6 +462,7 @@ func Convert_kops_BastionSpec_To_v1alpha2_BastionSpec(in *kops.BastionSpec, out
}
func autoConvert_v1alpha2_CNINetworkingSpec_To_kops_CNINetworkingSpec(in *CNINetworkingSpec, out *kops.CNINetworkingSpec, s conversion.Scope) error {
out.UsesSecondaryIP = in.UsesSecondaryIP
return nil
}
@ -471,6 +472,7 @@ func Convert_v1alpha2_CNINetworkingSpec_To_kops_CNINetworkingSpec(in *CNINetwork
}
func autoConvert_kops_CNINetworkingSpec_To_v1alpha2_CNINetworkingSpec(in *kops.CNINetworkingSpec, out *CNINetworkingSpec, s conversion.Scope) error {
out.UsesSecondaryIP = in.UsesSecondaryIP
return nil
}
@ -2906,11 +2908,7 @@ func autoConvert_kops_KubeletConfigSpec_To_v1alpha2_KubeletConfigSpec(in *kops.K
out.ExperimentalAllowedUnsafeSysctls = in.ExperimentalAllowedUnsafeSysctls
out.StreamingConnectionIdleTimeout = in.StreamingConnectionIdleTimeout
out.DockerDisableSharedPID = in.DockerDisableSharedPID
<<<<<<< HEAD
out.RootDir = in.RootDir
=======
out.BindPrimaryIP = in.BindPrimaryIP
>>>>>>> api machinery
return nil
}