Jonathan Boulle
be68a8e5cc
*: switch to line comments for copyright
...
Build tags are not compatible with block comments. Also adds copyright
header to a few places it was missing.
2015-01-24 19:32:33 -08:00
Alex Crawford
d0d467813d
Merge pull request #251 from Vladimiroff/master
...
metadata: Populate CloudSigma's IPs properly
2014-12-01 14:52:11 -08:00
Kiril Vladimirov
ea95920f31
fix(datasource/CloudSigma): Make sure DHCP has run
2014-11-17 15:35:10 +02:00
Alex Crawford
8be307de49
*: fix warnings from go vet
2014-10-23 11:46:08 -07:00
Kiril Vladimirov
b6062f0644
fix(datasource/CloudSigma): Populate local IPv4 address properly
2014-10-23 15:03:23 +03:00
Kiril Vladimirov
c5fada6e69
fix(datasource/CloudSigma): Populate public IPv4 address properly
2014-10-23 13:21:49 +03:00
Jonathan Boulle
44f0a949c5
*: switch to Godeps
2014-10-20 12:04:03 -07:00
Jonathan Boulle
6c1ba590aa
*: add license header to all source files
2014-10-17 15:36:22 -07:00
Alex Crawford
84e1cb3242
datasource/waagent: add support for WAAgent metadata
2014-10-11 09:19:47 -07:00
Janne Paenkaelae
2f954dcdc2
AWS: Eucalyptus 4.x compatibility fix
...
For Eucalyptus 4.0.1 requesting metadata seem to work differently as with EC2.
In Euca:
> curl http://169.254.169.254/2009-04-04
<?xml version="1.0"?><Response><Errors><Error><Code>404 Not Found</Code><Message>unknown</Message></Error></Errors><RequestID>unknown</RequestID></Response>core@localhost ~ $
> curl http://169.254.169.254/2009-04-04/
dynamic
meta-data
user-data
In AWS EC2
> curl http://169.254.169.254/2009-04-04
"" (zero bytes)
> curl http://169.254.169.254/2009-04-04/
dynamic
meta-data
user-data
As the isAvailable() function in metadata.go tests only for errorcode
it fails in Euca.
2014-09-24 20:33:29 +03:00
Alex Crawford
a0fe6d0884
configdrive: return an empty network config when filename is empty
...
Additionally, don't bother checking for a network config if it isn't going to
be processed.
2014-09-13 21:51:51 -07:00
Alex Crawford
3abd6b2225
digitalocean: Add DigitalOcean metadata service
...
Move debian-related processing into its own file.
2014-09-01 16:53:15 -07:00
Alex Crawford
604ef7ecb4
datasource: Add FetchNetworkConfig
...
FetchNetworkConfig is currently only used by ConfigDrive to read the
network config file from the disk.
2014-08-26 13:04:43 -07:00
Alex Crawford
a923161f4a
metadata: Refactor common parts out of ec2
2014-08-26 12:02:56 -07:00
Alex Crawford
45c20c1dd3
Merge pull request #196 from Vladimiroff/cloudsigma
...
cloudsigma: Add support for CloudSigma datasource
2014-08-15 15:21:33 -07:00
Alex Crawford
f0b9eaf2fe
configdrive: Remove broken support for ec2 metadata
...
As it turns out, certain metadata is only present in the ec2 flavor
of metadata (e.g. public_ipv4) and other data is only present in
the openstack flavor (e.g. network_config). For now, just read the
openstack metadata.
2014-08-15 10:35:21 -07:00
Kiril Vladimirov
7320a2cbf2
feat(datasource/metadata): Add datasource for CloudSigma
2014-08-15 12:08:55 +03:00
Alex Crawford
1cf275bad6
Merge pull request #201 from crawford/configdrive
...
configdrive: fix root path
2014-08-11 20:11:17 -07:00
Alex Crawford
d143904aa9
configdrive: fix root path
2014-08-11 17:57:10 -07:00
Alex Crawford
6b8f82b5d3
datasource: Fix ec2 URLs
...
_ vs -
2014-08-06 21:31:43 -07:00
Alex Crawford
d68ae84b37
metadata: Refactor metadata service into ec2 metadata
...
Added more testing.
2014-08-05 17:19:43 -07:00
Alex Crawford
8566a2c118
datasource: Move datasources into their own packages.
2014-08-04 15:10:07 -07:00
Alex Crawford
4eedca26e9
configdrive: Use the EC2 metadata over OpenStack
...
Standardize on specific EC2 and OpenStack versions and add tests.
2014-08-04 10:18:29 -07:00
Alex Crawford
47748ef4b6
metadata-service: remove check for OpenStack meta_data.json
...
The meta_data.json blob under OpenStack doesn't actually contain all
of the metadata... Fall back to explicitly requesting each attribute.
2014-07-02 14:38:23 -07:00
Alex Crawford
ce6fccfb3c
metadata-service: Handle no user-data
2014-07-01 16:10:18 -07:00
Alex Crawford
276f0b5d99
metadata: Fetch the public and private IP addresses
2014-07-01 14:43:19 -07:00
Alex Crawford
7fcc540154
metadata-service: fix ssh key retrieval and application
...
The metadata service wasn't properly fetching the ssh keys from metadata.
Drop the key traversal in favor of explict key urls.
2014-06-30 17:45:08 -07:00
Alex Crawford
c089216cb5
datasources: Add support for specifying multiple datasources
...
If multiple sources are specified, the first available source is used.
2014-06-26 22:32:39 -07:00
Alex Crawford
68dc902ed1
HttpClient: Refactor timeout into two seperate functions
2014-06-26 15:16:22 -07:00
Alex Crawford
fae81c78f3
metadataService: Check both ec2 and openstack urls more explicitly
...
Remove the root url parameter for -from-metadata-service since this
is a guarenteed value. Additionally, check for both ec2 and openstack
urls for the metadata and userdata. Fix a bug with the -from-url
option and a panic on an empty response.
2014-06-25 11:19:11 -07:00
Jonathan Boulle
ded3bcf122
metadata: add links to metadata source information
2014-06-24 19:26:07 -07:00
Alex Crawford
465bcce72c
metadata_service: Add tests for constructing metadata
2014-06-24 15:08:03 -07:00
Alex Crawford
361edeebc6
metadata-service: Add metadata-service datasource
...
Move the old metadata-service datasource to url datasource. This new datasource
checks for the existance of meta-data.json and if it doesn't exist, walks the
meta-data directory to build a metadata blob.
2014-06-24 15:08:03 -07:00
Alex Crawford
840c208b60
feat(metadata): Distinguish between userdata and metadata for datasources
2014-06-18 12:34:31 -07:00
Alex Crawford
29ed6b38bd
refactor(env): Add the config root and netconf type to datasource and env
2014-06-18 12:27:15 -07:00
Alex Crawford
a4035cffea
feat(config-drive): Add support for reading user-data from config-drive
...
The -config-drive flag tells cloudinit to read the user-data from
within the config-drive (./openstack/latest/user-data).
2014-06-02 14:58:57 -07:00
Brandon Philips
1a295f65c7
Merge pull request #123 from c4milo/shared-http-client
...
feat(util/http_client): Adds generic HTTP client
2014-05-22 14:37:32 -07:00
Camilo Aguilar
8ca3c2ed1f
style(httpbackoff -> pkg): Adjusts package name to follow convention
2014-05-22 14:37:19 -04:00
Camilo Aguilar
2cedebb4eb
style(util->httpbackoff): Changes package as per @philips suggestion
2014-05-21 21:12:16 -04:00
Camilo Aguilar
3e00a37ef5
feat(util/http_client): Adds generic HTTP client
...
Supports retries with exponential backoff as well as connection
timeouts and the ability to skip SSL/TLS verification.
This commit also refactors datasource and initialize packages
in order to use the new HTTP client.
2014-05-21 13:31:50 -04:00
Jonathan Boulle
59d1eba423
Merge pull request #111 from namsral/patch-1
...
Trim newlines from the cloud-config-url option
2014-05-21 10:18:24 -07:00
Lars Wiegman
513a1eb602
Trim newlines from the cloud-config-url kernel parameter and added a test
...
- In the Fetch function trim whitespace from /proc/cmdline
- New test for Fetch function
- Added Location field to the procCmdline struct for testing
2014-05-21 11:09:39 +02:00
Camilo Aguilar
36efcc9d69
test(datastore/fetch): Makes sure err is not nil
2014-05-16 16:57:58 -04:00
Camilo Aguilar
4b6fc63e8c
fix(datastore/fetch): off-by-one oversight
2014-05-16 12:36:05 -04:00
Camilo Aguilar
fcccfb085f
style(datastore/fetch): Adjusts comments formatting
2014-05-16 12:35:39 -04:00
Camilo Aguilar
ebf134f181
refactor(datastore/fetch): Makes more failure proof fetching user-data files
...
- Adds URL validations
- Adds timeout support for http client
- Limits the amount of retries to not spin forever
- Fails faster if response status code is 4xx
- Does a little bit more of logging
- Adds more tests
2014-05-16 12:35:06 -04:00
Camilo Aguilar
ff70a60fbc
Adds sleep cap to exponential backoff so it does not go too high
2014-05-15 13:04:37 -04:00
Kelsey Hightower
31f61d7531
Use exponential backoff when fetching user-data from an URL.
...
The user-cloudinit-proc-cmdline systemd unit is responsible for
fetching user-data from various sources during the cloud-init
process. When fetching user-data from an URL datasource we face
a race condition since the network may not be available, which
can cause the job to fail and no further attempts to fetch the
user-data are made.
Eliminate the race condition when fetching user-data from an URL
datasource. Retry the fetch using an exponential backoff until
the user-data is retrieved.
Fixes issue 105.
2014-05-14 23:15:49 -07:00
Brian Waldon
3de3d2c050
feat(proc-cmdline): Parse /proc/cmdline for cloud-config-url
...
If the --from-proc-cmdline flag is given to coreos-cloudinit, the local
/proc/cmdline file will be parsed for a cloud-config-url
2014-04-22 16:38:01 -07:00
Brian Waldon
d2dabee0c6
refactor(*): Break apart packages
2014-03-18 09:14:11 -07:00