This adds support for parsing openstack meta-data.json files in
config-2 filesystems and extracting and installing any SSH pubkeys
into the default user account.
In order to properly parse a config-2 json blob outside of the normal
openstack early initialization, we need to fill the parser table
properly and clean it up.
This exposes some flaws in other parts of this code that appear that
this wasn't entirely fully tested. I have not yet confirmed that
in a config-2 scenario everything actually automatically works yet,
this remains to be done.
The ucd-aws program fetches the user-data for an AMI instance
over http from 169.254.169.254, and passes it back to ucd.
The service is not supposed to be enabled unless you are running
on AWS, as it is highly specific to that cloud.
Prior to this change, a NULL pw_dir would result in pwd_buf being leaked after
write_ssh_keys is called. Granted, it's a minor leak, and only potential, but
should still be fixed regardless.
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
This will ensure that more compilation issues will be detected in future
development, ensuring a clean codebase.
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
- Markup format
- Covers 3 typical use cases
- Hands-on approach explaining the basic configuration steps
and shows exact content of files needed to be created.
Prior to this change, a NULL pw_dir would result in pwd_buf being leaked after
write_ssh_keys is called. Granted, it's a minor leak, and only potential, but
should still be fixed regardless.
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
This will ensure that more compilation issues will be detected in future
development, ensuring a clean codebase.
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
* Make -Werror a compile time option
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
* Ensure test suite builds with -Wl,--as-needed
The linking order is highly important to libtool. Previously we would link
the COMMON_LDADD libraries to the binaries, however no symbols were used so
binutils linker wouldn't link the libraries involved. Next we would link
libtest.la, a static convenience library, and fail at dynamic linking due
to the symbols only being used in this later-added libraries.
The solution is to first link the convenience library, and then link to the
shared libraries, in order for -Wl,--as-needed behaviour to function correctly
and only link the absolutely required libraries.
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
Supported package managers are: swupd (default), yum, dnf, apt.
If configure is passwd --with-packagemgr=<pkgmgr>, then the appropriate
calls to dnf/yum etc. are used instead of `swupd`. This affects the
`packge_upgrade' and `packages' directives, exclusively.
This is determined at compile time, without checking for dependencies
being actually present. This seems preferable than to try and determine
at runtime what support is present.