Skip to content

Commit a542228

Browse files
authored
Merge pull request #711 from hidekazuna/refactor_instance
🏃Refactor create, delete instance
2 parents 6ac0238 + c8707c4 commit a542228

File tree

2 files changed

+24
-24
lines changed

2 files changed

+24
-24
lines changed

pkg/cloud/services/compute/bastion.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func (s *Service) DeleteBastion(serverID string) error {
3232
if instance == nil {
3333
return nil
3434
}
35-
return s.deleteInstance(instance.ID)
35+
return deleteInstance(s, instance.ID)
3636
}
3737

3838
func (s *Service) CreateBastion(clusterName string, openStackCluster *infrav1.OpenStackCluster) (*infrav1.Instance, error) {
@@ -72,7 +72,7 @@ func (s *Service) CreateBastion(clusterName string, openStackCluster *infrav1.Op
7272
}
7373
input.Networks = &nets
7474

75-
out, err := s.createInstance(clusterName, input)
75+
out, err := createInstance(s, clusterName, input)
7676
if err != nil {
7777
record.Warnf(openStackCluster, "FailedCreateServer", "Failed to create bastion: %v", err)
7878
return nil, fmt.Errorf("create new server err: %v", err)

pkg/cloud/services/compute/instance.go

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ func (s *Service) InstanceCreate(clusterName string, machine *clusterv1.Machine,
137137
}
138138
input.Networks = &nets
139139

140-
out, err := s.createInstance(clusterName, input)
140+
out, err := createInstance(s, clusterName, input)
141141
if err != nil {
142142
record.Warnf(openStackMachine, "FailedCreateServer", "Failed to create server: %v", err)
143143
return nil, fmt.Errorf("create new server err: %v", err)
@@ -146,9 +146,9 @@ func (s *Service) InstanceCreate(clusterName string, machine *clusterv1.Machine,
146146
return out, nil
147147
}
148148

149-
func (s *Service) createInstance(clusterName string, i *infrav1.Instance) (*infrav1.Instance, error) {
149+
func createInstance(is *Service, clusterName string, i *infrav1.Instance) (*infrav1.Instance, error) {
150150
// Get image ID
151-
imageID, err := getImageID(s, i.Image)
151+
imageID, err := getImageID(is, i.Image)
152152
if err != nil {
153153
return nil, fmt.Errorf("create new server err: %v", err)
154154
}
@@ -160,7 +160,7 @@ func (s *Service) createInstance(clusterName string, i *infrav1.Instance) (*infr
160160
if net.ID == "" {
161161
return nil, fmt.Errorf("no network was found or provided. Please check your machine configuration and try again")
162162
}
163-
allPages, err := ports.List(s.networkClient, ports.ListOpts{
163+
allPages, err := ports.List(is.networkClient, ports.ListOpts{
164164
Name: i.Name,
165165
NetworkID: net.ID,
166166
}).AllPages()
@@ -174,7 +174,7 @@ func (s *Service) createInstance(clusterName string, i *infrav1.Instance) (*infr
174174
var port ports.Port
175175
if len(portList) == 0 {
176176
// create server port
177-
port, err = createPort(s, clusterName, i.Name, &net, i.SecurityGroups)
177+
port, err = createPort(is, clusterName, i.Name, &net, i.SecurityGroups)
178178
if err != nil {
179179
return nil, fmt.Errorf("failed to create port err: %v", err)
180180
}
@@ -187,7 +187,7 @@ func (s *Service) createInstance(clusterName string, i *infrav1.Instance) (*infr
187187
})
188188

189189
if i.Trunk {
190-
allPages, err := trunks.List(s.networkClient, trunks.ListOpts{
190+
allPages, err := trunks.List(is.networkClient, trunks.ListOpts{
191191
Name: i.Name,
192192
PortID: port.ID,
193193
}).AllPages()
@@ -205,7 +205,7 @@ func (s *Service) createInstance(clusterName string, i *infrav1.Instance) (*infr
205205
Name: i.Name,
206206
PortID: port.ID,
207207
}
208-
newTrunk, err := trunks.Create(s.networkClient, trunkCreateOpts).Extract()
208+
newTrunk, err := trunks.Create(is.networkClient, trunkCreateOpts).Extract()
209209
if err != nil {
210210
return nil, fmt.Errorf("create trunk for server err: %v", err)
211211
}
@@ -214,7 +214,7 @@ func (s *Service) createInstance(clusterName string, i *infrav1.Instance) (*infr
214214
trunk = trunkList[0]
215215
}
216216

217-
_, err = attributestags.ReplaceAll(s.networkClient, "trunks", trunk.ID, attributestags.ReplaceAllOpts{
217+
_, err = attributestags.ReplaceAll(is.networkClient, "trunks", trunk.ID, attributestags.ReplaceAllOpts{
218218
Tags: i.Tags}).Extract()
219219
if err != nil {
220220
return nil, fmt.Errorf("tagging trunk for server err: %v", err)
@@ -229,7 +229,7 @@ func (s *Service) createInstance(clusterName string, i *infrav1.Instance) (*infr
229229
Networks: portsList,
230230
UserData: []byte(i.UserData),
231231
SecurityGroups: *i.SecurityGroups,
232-
ServiceClient: s.computeClient,
232+
ServiceClient: is.computeClient,
233233
Tags: i.Tags,
234234
Metadata: i.Metadata,
235235
ConfigDrive: i.ConfigDrive,
@@ -239,12 +239,12 @@ func (s *Service) createInstance(clusterName string, i *infrav1.Instance) (*infr
239239

240240
serverCreateOpts = applyServerGroupID(serverCreateOpts, i.ServerGroupID)
241241

242-
server, err := servers.Create(s.computeClient, keypairs.CreateOptsExt{
242+
server, err := servers.Create(is.computeClient, keypairs.CreateOptsExt{
243243
CreateOptsBuilder: serverCreateOpts,
244244
KeyName: i.SSHKeyName,
245245
}).Extract()
246246
if err != nil {
247-
if errd := deletePorts(s, portsList); errd != nil {
247+
if errd := deletePorts(is, portsList); errd != nil {
248248
return nil, fmt.Errorf("error recover creating Openstack instance: %v", errd)
249249
}
250250
return nil, fmt.Errorf("error creating Openstack instance: %v", err)
@@ -253,7 +253,7 @@ func (s *Service) createInstance(clusterName string, i *infrav1.Instance) (*infr
253253
instanceCreateTimeout *= time.Minute
254254
var instance *infrav1.Instance
255255
err = util.PollImmediate(RetryIntervalInstanceStatus, instanceCreateTimeout, func() (bool, error) {
256-
instance, err = s.GetInstance(server.ID)
256+
instance, err = is.GetInstance(server.ID)
257257
if err != nil {
258258
return false, nil
259259

@@ -553,12 +553,12 @@ func (s *Service) InstanceDelete(machine *clusterv1.Machine) error {
553553
return err
554554
}
555555

556-
return s.deleteInstance(parsed.ID())
556+
return deleteInstance(s, parsed.ID())
557557
}
558558

559-
func (s *Service) deleteInstance(serverID string) error {
559+
func deleteInstance(is *Service, serverID string) error {
560560
// get instance port id
561-
allInterfaces, err := attachinterfaces.List(s.computeClient, serverID).AllPages()
561+
allInterfaces, err := attachinterfaces.List(is.computeClient, serverID).AllPages()
562562
if err != nil {
563563
return err
564564
}
@@ -567,24 +567,24 @@ func (s *Service) deleteInstance(serverID string) error {
567567
return err
568568
}
569569
if len(instanceInterfaces) < 1 {
570-
return servers.Delete(s.computeClient, serverID).ExtractErr()
570+
return servers.Delete(is.computeClient, serverID).ExtractErr()
571571
}
572572

573-
trunkSupport, err := getTrunkSupport(s)
573+
trunkSupport, err := getTrunkSupport(is)
574574
if err != nil {
575575
return fmt.Errorf("obtaining network extensions: %v", err)
576576
}
577577
// get and delete trunks
578578
for _, port := range instanceInterfaces {
579-
err := attachinterfaces.Delete(s.computeClient, serverID, port.PortID).ExtractErr()
579+
err := attachinterfaces.Delete(is.computeClient, serverID, port.PortID).ExtractErr()
580580
if err != nil {
581581
return err
582582
}
583583
if trunkSupport {
584584
listOpts := trunks.ListOpts{
585585
PortID: port.PortID,
586586
}
587-
allTrunks, err := trunks.List(s.networkClient, listOpts).AllPages()
587+
allTrunks, err := trunks.List(is.networkClient, listOpts).AllPages()
588588
if err != nil {
589589
return err
590590
}
@@ -594,7 +594,7 @@ func (s *Service) deleteInstance(serverID string) error {
594594
}
595595
if len(trunkInfo) == 1 {
596596
err = util.PollImmediate(RetryIntervalTrunkDelete, TimeoutTrunkDelete, func() (bool, error) {
597-
err := trunks.Delete(s.networkClient, trunkInfo[0].ID).ExtractErr()
597+
err := trunks.Delete(is.networkClient, trunkInfo[0].ID).ExtractErr()
598598
if err != nil {
599599
return false, nil
600600
}
@@ -608,7 +608,7 @@ func (s *Service) deleteInstance(serverID string) error {
608608

609609
// delete port
610610
err = util.PollImmediate(RetryIntervalPortDelete, TimeoutPortDelete, func() (bool, error) {
611-
err := ports.Delete(s.networkClient, port.PortID).ExtractErr()
611+
err := ports.Delete(is.networkClient, port.PortID).ExtractErr()
612612
if err != nil {
613613
return false, nil
614614
}
@@ -620,7 +620,7 @@ func (s *Service) deleteInstance(serverID string) error {
620620
}
621621

622622
// delete instance
623-
return servers.Delete(s.computeClient, serverID).ExtractErr()
623+
return servers.Delete(is.computeClient, serverID).ExtractErr()
624624
}
625625

626626
func (s *Service) GetInstance(resourceID string) (instance *infrav1.Instance, err error) {

0 commit comments

Comments
 (0)