mirror of https://github.com/docker/docs.git
Merge pull request #1009 from hairyhenderson/softlayer-remove-sshkey-on-delete-765
Deleting Machine-generated SSH key from SoftLayer when host is canceled.
This commit is contained in:
commit
4047c97679
|
|
@ -31,6 +31,7 @@ type Driver struct {
|
||||||
MachineName string
|
MachineName string
|
||||||
CaCertPath string
|
CaCertPath string
|
||||||
PrivateKeyPath string
|
PrivateKeyPath string
|
||||||
|
SSHKeyID int
|
||||||
SwarmMaster bool
|
SwarmMaster bool
|
||||||
SwarmHost string
|
SwarmHost string
|
||||||
SwarmDiscovery string
|
SwarmDiscovery string
|
||||||
|
|
@ -384,6 +385,9 @@ func (d *Driver) Create() error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.Infof("SSH key %s (%d) created in SoftLayer", key.Label, key.Id)
|
||||||
|
d.SSHKeyID = key.Id
|
||||||
|
|
||||||
spec := d.buildHostSpec()
|
spec := d.buildHostSpec()
|
||||||
spec.SshKeys = []*SshKey{key}
|
spec.SshKeys = []*SshKey{key}
|
||||||
|
|
||||||
|
|
@ -453,7 +457,9 @@ func (d *Driver) publicSSHKeyPath() string {
|
||||||
func (d *Driver) Kill() error {
|
func (d *Driver) Kill() error {
|
||||||
return d.getClient().VirtualGuest().PowerOff(d.Id)
|
return d.getClient().VirtualGuest().PowerOff(d.Id)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *Driver) Remove() error {
|
func (d *Driver) Remove() error {
|
||||||
|
log.Infof("Canceling SoftLayer instance %d...", d.Id)
|
||||||
var err error
|
var err error
|
||||||
for i := 0; i < 5; i++ {
|
for i := 0; i < 5; i++ {
|
||||||
if err = d.getClient().VirtualGuest().Cancel(d.Id); err != nil {
|
if err = d.getClient().VirtualGuest().Cancel(d.Id); err != nil {
|
||||||
|
|
@ -462,7 +468,16 @@ func (d *Driver) Remove() error {
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
return err
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Infof("Removing SSH Key %d...", d.SSHKeyID)
|
||||||
|
if err = d.getClient().SshKey().Delete(d.SSHKeyID); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
func (d *Driver) Restart() error {
|
func (d *Driver) Restart() error {
|
||||||
return d.getClient().VirtualGuest().Reboot(d.Id)
|
return d.getClient().VirtualGuest().Reboot(d.Id)
|
||||||
|
|
|
||||||
|
|
@ -150,6 +150,19 @@ func (c *sshKey) Create(label, key string) (*SshKey, error) {
|
||||||
return &k, nil
|
return &k, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *sshKey) Delete(id int) error {
|
||||||
|
var (
|
||||||
|
method = "DELETE"
|
||||||
|
uri = fmt.Sprintf("%s/%v", c.namespace(), id)
|
||||||
|
)
|
||||||
|
|
||||||
|
_, err := c.newRequest(method, uri, nil)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Client) VirtualGuest() *virtualGuest {
|
func (c *Client) VirtualGuest() *virtualGuest {
|
||||||
return &virtualGuest{c}
|
return &virtualGuest{c}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue