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