// constructImageConstraint returns model-specific criteria used to look for image metadata. func (p *ProvisionerAPI) constructImageConstraint(m *state.Machine) (*imagemetadata.ImageConstraint, environs.Environ, error) { // If we can determine current region, // we want only metadata specific to this region. cloud, env, err := p.obtainEnvCloudConfig() if err != nil { return nil, nil, errors.Trace(err) } lookup := simplestreams.LookupParams{ Series: []string{m.Series()}, Stream: env.Config().ImageStream(), } mcons, err := m.Constraints() if err != nil { return nil, nil, errors.Annotatef(err, "cannot get machine constraints for machine %v", m.MachineTag().Id()) } if mcons.Arch != nil { lookup.Arches = []string{*mcons.Arch} } if cloud != nil { lookup.CloudSpec = *cloud } return imagemetadata.NewImageConstraint(lookup), env, nil }
func (s *SSHCommonSuite) setKeys(c *gc.C, m *state.Machine) { id := m.Id() keys := state.SSHHostKeys{"dsa-" + id, "rsa-" + id} err := s.State.SetSSHHostKeys(m.MachineTag(), keys) c.Assert(err, jc.ErrorIsNil) }