Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Rke
Commits
cc951ab1
Commit
cc951ab1
authored
3 years ago
by
yaocw2020
Browse files
Options
Download
Email Patches
Plain Diff
Support harvester cloud provider
parent
b66c7ff1
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
cloudprovider/cloudprovider.go
+4
-0
cloudprovider/cloudprovider.go
cloudprovider/harvester/harvester.go
+29
-0
cloudprovider/harvester/harvester.go
types/rke_types.go
+5
-0
types/rke_types.go
types/zz_generated_deepcopy.go
+21
-0
types/zz_generated_deepcopy.go
with
59 additions
and
0 deletions
+59
-0
cloudprovider/cloudprovider.go
+
4
-
0
View file @
cc951ab1
...
...
@@ -4,6 +4,7 @@ import (
"github.com/rancher/rke/cloudprovider/aws"
"github.com/rancher/rke/cloudprovider/azure"
"github.com/rancher/rke/cloudprovider/custom"
"github.com/rancher/rke/cloudprovider/harvester"
"github.com/rancher/rke/cloudprovider/openstack"
"github.com/rancher/rke/cloudprovider/vsphere"
v3
"github.com/rancher/rke/types"
...
...
@@ -29,6 +30,9 @@ func InitCloudProvider(cloudProviderConfig v3.CloudProvider) (CloudProvider, err
if
cloudProviderConfig
.
VsphereCloudProvider
!=
nil
||
cloudProviderConfig
.
Name
==
vsphere
.
VsphereCloudProviderName
{
p
=
vsphere
.
GetInstance
()
}
if
cloudProviderConfig
.
HarvesterCloudProvider
!=
nil
||
cloudProviderConfig
.
Name
==
harvester
.
HarvesterCloudProviderName
{
p
=
harvester
.
GetInstance
()
}
if
cloudProviderConfig
.
CustomCloudProvider
!=
""
{
p
=
custom
.
GetInstance
()
}
...
...
This diff is collapsed.
Click to expand it.
cloudprovider/harvester/harvester.go
0 → 100644
+
29
-
0
View file @
cc951ab1
package
harvester
import
v3
"github.com/rancher/rke/types"
const
HarvesterCloudProviderName
=
"harvester"
type
CloudProvider
struct
{
Name
string
Config
string
}
func
GetInstance
()
*
CloudProvider
{
return
&
CloudProvider
{}
}
func
(
p
*
CloudProvider
)
Init
(
cloudProviderConfig
v3
.
CloudProvider
)
error
{
// Harvester cloud provider is an external cloud provider
p
.
Name
=
"external"
p
.
Config
=
cloudProviderConfig
.
HarvesterCloudProvider
.
CloudConfig
return
nil
}
func
(
p
*
CloudProvider
)
GetName
()
string
{
return
p
.
Name
}
func
(
p
*
CloudProvider
)
GenerateCloudConfigFile
()
(
string
,
error
)
{
return
p
.
Config
,
nil
}
This diff is collapsed.
Click to expand it.
types/rke_types.go
+
5
-
0
View file @
cc951ab1
...
...
@@ -556,6 +556,8 @@ type CloudProvider struct {
OpenstackCloudProvider
*
OpenstackCloudProvider
`yaml:"openstackCloudProvider,omitempty" json:"openstackCloudProvider,omitempty"`
// VsphereCloudProvider
VsphereCloudProvider
*
VsphereCloudProvider
`yaml:"vsphereCloudProvider,omitempty" json:"vsphereCloudProvider,omitempty"`
// HarvesterCloudProvider
HarvesterCloudProvider
*
HarvesterCloudProvider
`yaml:"harvesterCloudProvider,omitempty" json:"harvesterCloudProvider,omitempty"`
// CustomCloudProvider is a multiline string that represent a custom cloud config file
CustomCloudProvider
string
`yaml:"customCloudProvider,omitempty" json:"customCloudProvider,omitempty"`
}
...
...
@@ -848,6 +850,9 @@ type AWSCloudProvider struct {
ServiceOverride
map
[
string
]
ServiceOverride
`json:"serviceOverride,omitempty" yaml:"service_override,omitempty" ini:"ServiceOverride,omitempty"`
}
type
HarvesterCloudProvider
struct
{
CloudConfig
string
`json:"cloudConfig" yaml:"cloud_config"`
}
type
ServiceOverride
struct
{
Service
string
`json:"service" yaml:"service" ini:"Service,omitempty"`
Region
string
`json:"region" yaml:"region" ini:"Region,omitempty"`
...
...
This diff is collapsed.
Click to expand it.
types/zz_generated_deepcopy.go
+
21
-
0
View file @
cc951ab1
...
...
@@ -376,6 +376,11 @@ func (in *CloudProvider) DeepCopyInto(out *CloudProvider) {
*
out
=
new
(
VsphereCloudProvider
)
(
*
in
)
.
DeepCopyInto
(
*
out
)
}
if
in
.
HarvesterCloudProvider
!=
nil
{
in
,
out
:=
&
in
.
HarvesterCloudProvider
,
&
out
.
HarvesterCloudProvider
*
out
=
new
(
HarvesterCloudProvider
)
**
out
=
**
in
}
return
}
...
...
@@ -808,6 +813,22 @@ func (in *GlobalVsphereOpts) DeepCopy() *GlobalVsphereOpts {
return
out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func
(
in
*
HarvesterCloudProvider
)
DeepCopyInto
(
out
*
HarvesterCloudProvider
)
{
*
out
=
*
in
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarvesterCloudProvider.
func
(
in
*
HarvesterCloudProvider
)
DeepCopy
()
*
HarvesterCloudProvider
{
if
in
==
nil
{
return
nil
}
out
:=
new
(
HarvesterCloudProvider
)
in
.
DeepCopyInto
(
out
)
return
out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func
(
in
*
HealthCheck
)
DeepCopyInto
(
out
*
HealthCheck
)
{
*
out
=
*
in
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help