Merge pull request #3363 from wadetandy/master

Expose OpenStack driver's userdata param
This commit is contained in:
Nathan LeClaire 2016-05-19 14:21:57 -07:00
commit 33f23be924
2 changed files with 18 additions and 0 deletions

View File

@ -63,6 +63,7 @@ func (c *GenericClient) CreateInstance(d *Driver) (string, error) {
Name: d.MachineName,
FlavorRef: d.FlavorId,
ImageRef: d.ImageId,
UserData: d.UserData,
SecurityGroups: d.SecurityGroups,
AvailabilityZone: d.AvailabilityZone,
}

View File

@ -37,6 +37,7 @@ type Driver struct {
KeyPairName string
NetworkName string
NetworkId string
UserData []byte
PrivateKeyFile string
SecurityGroups []string
FloatingIpPool string
@ -161,6 +162,12 @@ func (d *Driver) GetCreateFlags() []mcnflag.Flag {
Usage: "Private keyfile to use for SSH (absolute path)",
Value: "",
},
mcnflag.StringFlag{
EnvVar: "OS_USER_DATA_FILE",
Name: "openstack-user-data-file",
Usage: "File containing an openstack userdata script",
Value: "",
},
mcnflag.StringFlag{
EnvVar: "OS_NETWORK_NAME",
Name: "openstack-net-name",
@ -270,6 +277,16 @@ func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error {
d.SSHPort = flags.Int("openstack-ssh-port")
d.KeyPairName = flags.String("openstack-keypair-name")
d.PrivateKeyFile = flags.String("openstack-private-key-file")
if flags.String("openstack-user-data-file") != "" {
userData, err := ioutil.ReadFile(flags.String("openstack-user-data-file"))
if err == nil {
d.UserData = userData
} else {
return err
}
}
d.SetSwarmConfigFromFlags(flags)
return d.checkConfig()