Merge pull request #1261 from lflux/openstack-networks-support

Add ability to configure networks for openstack
This commit is contained in:
Ross Smith II 2014-06-16 17:53:44 -07:00
commit a0caa635fa
4 changed files with 12 additions and 1 deletions

View File

@ -92,6 +92,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
Flavor: b.config.Flavor,
SourceImage: b.config.SourceImage,
SecurityGroups: b.config.SecurityGroups,
Networks: b.config.Networks,
},
&StepAllocateIp{
FloatingIpPool: b.config.FloatingIpPool,

View File

@ -20,6 +20,7 @@ type RunConfig struct {
FloatingIpPool string `mapstructure:"floating_ip_pool"`
FloatingIp string `mapstructure:"floating_ip"`
SecurityGroups []string `mapstructure:"security_groups"`
Networks []string `mapstructure:"networks"`
// Unexported fields that are calculated from others
sshTimeout time.Duration

View File

@ -13,6 +13,7 @@ type StepRunSourceServer struct {
Name string
SourceImage string
SecurityGroups []string
Networks []string
server *gophercloud.Server
}
@ -30,12 +31,18 @@ func (s *StepRunSourceServer) Run(state multistep.StateBag) multistep.StepAction
securityGroups[i]["name"] = groupName
}
networks := make([]gophercloud.NetworkConfig, len(s.Networks))
for i, networkUuid := range s.Networks {
networks[i].Uuid = networkUuid
}
server := gophercloud.NewServer{
Name: s.Name,
ImageRef: s.SourceImage,
FlavorRef: s.Flavor,
KeyPairName: keyName,
SecurityGroup: securityGroups,
Networks: networks,
}
serverResp, err := csp.CreateServer(server)

View File

@ -69,6 +69,9 @@ each category, the available configuration keys are alphabetized.
* `insecure` (boolean) - Whether or not the connection to OpenStack can be done
over an insecure connection. By default this is false.
* `networks` (array of strings) - A list of networks by UUID to attach
to this instance.
* `openstack_provider` (string)
<!---
@todo document me
@ -89,7 +92,6 @@ each category, the available configuration keys are alphabetized.
<!---
@todo document me
-->
* `security_groups` (array of strings) - A list of security groups by name
to add to this instance.