Update doc links according to OpenStack document migration,
Use https instead of http for docs links
Change-Id: I35a285e164e8de8f6634188be131083b4c8a0f1f
This helps us not break when transitioning to using the new version of
snapstack, with the config files for each snap in the individual
steps, rather than in a config step.
Change-Id: I2d827e6efbaa098805fb81bf6db6d52a67b50b97
This is part of a transition to storing the config files in the snap,
rather than in snapstack.
Also updated .gitignore to ignore emacs temp files and snapcraft
cruft.
Change-Id: I917767c08e0daebdeb2392f2fc74ca3a3a1c57ac
Tweaked tox.ini to invoke snapstack, and added test_snapstack.py to
tests dir.
Also added nova.sh to nova/tests, as part of the plan to move
those scripts from snap-test to the individual snaps.
Change-Id: If52e45bbef18a3ad7da993c93eb78f8aea687c5b
The current snaps now have well-known aliases defined at install time
for commands [1]. This means we can drop the manual alias definition
from snapcraft.yaml and the instructions for setting it up.
When building/installing locally users can still create the alias
with 'snap alias'.
[1] https://forum.snapcraft.io/t/auto-aliases-for-openstack-base-snaps/1146/6
Change-Id: Iab9fce6b31aaf4d135317814a3ef03985936a858
The following are included in the switch to strict confinement:
* Set snapcraft.yaml confinement to strict and restore/update plugs
* Drop building of python as it's not required for strict snaps
* Switch back to running apps under root
* Patch setgroups from ngnix since it's not covered by a plug
* Build libxml into snap
Change-Id: Ibd2e3c625ceb92cb4b6dd9f0c9a9012baf7c53a5
nova-placement-api is a bit tricky. The wsgi application doesn't accept
CLI arguments, so we can't pass --config-file, --config-dir, or
--log-file via uwsgi's pyargv. Additionally, nova-placement-api doesn't
pass the [keystone_authtoken] from the config file found in
OS_PLACEMENT_CONFIG_DIR to keystonemiddleware.
We continue to use the OS_PLACEMENT_CONFIG_DIR environment variable to
point at the default nova.conf in $SNAP/etc/nova.conf. This default
nova.conf includes logdir=$SNAP_COMMON/log/, enabling nova-placement-api.log
to be written to the correct directory.
Passing [keystone_authtoken] to keystonemiddleware is fixed in oslo.config.
The prior commit titled "Patch (_COMMON) dirs into oslo.config defaults"
includes a patch for this. keystonemiddleware gets the [keystone_authtoken]
config via oslo.config's find_config_files() and find_config_dirs(), which
are patched to include the $SNAP and $SNAP_COMMON config directories.
Change-Id: I02e2a5d9df91eb8cbf36beb474809bc1e80fe80b
Closes-Bug: 1696830
Enable the ability for default config files to be overridden for each
entry point type (simple, uwsgi, and nginx).
Also refresh the README while documenting how default config files can
be overridden.
Finally, drop copyfiles from snap-openstack.yaml for nginx, and modify
the nginx template files such that we can install them in $SNAP_COMMON
while pointing them at additional default config files in $SNAP.
Change-Id: Ia4496aa593d7e695c2451153c12c3dfd0c2ee989
Ensure that uwsgi configuration file is rendered as part
of the endpoint to pickup required pyargv context variable.
Change-Id: Ic55a4851bd2d82d868f54af9d225f3287c115be5
Drop privileges to a regular user when running commands defined
by this snap. In most cases this is done prior to executing the
command.
NGINX is an exception in that the command will be run as root,
allowing the the master process to bind to ports. The nginx.conf
template is configured to then drop privileges for worker processes,
which do all work, such as handling network connections, r/w to
disk, and communication with servers.
Change-Id: Ifa55c4f36a3e5a8e0e2681f1aa229b6ba42a7e76
The symlinks setup key is dropped, and SNAP_COMMON is used as the
root directory where setup dirs, templates, and copyfiles are
installed. This aligns better with how snaps should behave.
Change-Id: I9b18b703f3f00f5ac8db61253e8abfe024a51b50
Classic python snaps require python to be compiled from source.
Additionaly, move away from using the environment dictionary
until it is fully supported by snapd. Finally, use a fixed python
path in order to get the correct site-specific config.
These changes were recommended in the following bug:
https://bugs.launchpad.net/snapcraft/+bug/1675479
Change-Id: I5505bb19b026589c94df4c2753a7ee4b7e2f8fb1
This is a work-around for https://bugs.launchpad.net/bugs/1675479,
where namespace packages aren't installed correctly.
Change-Id: Ia915ba667bc983ca78d0d9ba8a21cbf3c16644d0
Classic confinement allows the snap to behave like a traditionally
packaged application with full access to the system, and enables the
use of traditional directories such as /etc and /var/log.
We will continue to store all of the snap's files in $SNAP* directories.
This enables the snap to cleanup after itself if it is removed. However,
traditional directory locations are symlinked to their corresponding
$SNAP* directories.
For example, nova configs are installed in $SNAP_COMMON/etc/nova
which has a symlink at /etc/nova.
The nova apps then use the traditional directories when running
commands and services.
Change-Id: Ie21c66007a37b90ac3bca042505bad332fa76543
Drop nova-api-metadata; metadata services are best placed
on hypervisor or network nodes to ensure that failure domains
are as isolated as possible.
Add alias for nova-manage.
Change-Id: Ibbb73ed115d8d15e80f6eff5b05d8717cd4741aa