func (e *environ) userData(scfg *startInstanceParams) ([]byte, error) { cfg := &cloudinit.MachineConfig{ StateServer: scfg.stateServer, StateInfo: scfg.info, StateServerCert: scfg.stateServerCert, StateServerKey: scfg.stateServerKey, InstanceIdAccessor: "$(curl http://169.254.169.254/1.0/meta-data/instance-id)", ProviderType: "ec2", DataDir: "/var/lib/juju", Tools: scfg.tools, MachineId: scfg.machineId, AuthorizedKeys: e.ecfg().AuthorizedKeys(), Config: scfg.config, } cloudcfg, err := cloudinit.New(cfg) if err != nil { return nil, err } data, err := cloudcfg.Render() if err != nil { return nil, err } cdata := trivial.Gzip(data) log.Debugf("environs/ec2: ec2 user data; %d bytes: %q", len(cdata), data) return cdata, nil }
func (trivialSuite) TestCompression(c *C) { cdata := trivial.Gzip(data) c.Assert(len(cdata) < len(data), Equals, true) data1, err := trivial.Gunzip(cdata) c.Assert(err, IsNil) c.Assert(data1, DeepEquals, data) data1, err = trivial.Gunzip(compressedData) c.Assert(err, IsNil) c.Assert(data1, DeepEquals, data) }