We want to allow operators to override Horizon's default
settings. This involves moving local_settings.d out of the read only
snap filesystem, and into $SNAP_COMMON. This is a little bit tricky.
First, we patch settings.py and local_settings.py as we're building the
snap, to include a LOCAL_PATH in $SNAP_COMMON.
Then, we add a template with the rest of our default overrides,
and write it out to $SNAP_COMMON/horizon/local_settings.d
Finally we tweak our tests so that we can give our overrides a
spin. As a bonus, this makes test_horizonglogin.py a lot easier to run
in our multipass testing scenario!
`tox -e basic` now also runs selenium tests, as well.
Change-Id: Ic0ce18cfa1b97a93191da749095d8aa2270d5aeb
Port the python2.7 local settings overrides to the python3.6 directory
structure.
Move all local_settings.py overrides into _05_snap_tweaks.py as part
of troubleshooting some remaining problems. Everything is more
organized and functional now :-)
Added selenium tests.
Change-Id: I54923e1dc9c7ffa47c2ef6fb90ea9d224b0d2eee
Move openstack-projects part from python2 to python3.
Add cloud archive.
Update qemu and libvirt versions to those from cloud archive (they
work with python3, while the distro packages versions don't).
Switch from rocky to stein.
Fetch libvirt and qemu sources via "apt source". Gets rid of sub
version hard coding in snapcraft.
Update hard coded references in tests to rocky from stein.
Change-Id: Idb38717998a13feaaf0782e880e540f28bc452a8
Just runs `tests/basic_test.sh -m` without building the snap
first. Useful for when you want to re-run the basic_test to verify
that a sporadic issue has been fixed, without rebuilding the snap each
time.
Counterargument: you could always just run `tests/basic_test.sh -m` on
its own. I find it easier to keep one test command in my fingers,
however, rather than having to switch between "tox plus args" and
"something else plus args"
Change-Id: I5ec28864ed41a4e11726df8aee1d31b8ef097f03
Renamed the old and outdated "configure-openstack" script to "init.sh"
Updated init.sh and folded most of the configure hook into it.
Removed database installation step from install hook.
We can now install microstack without a database dump, which helps
immensely in updating. And we have a logical place to put additional
configuraiton, including some of the manual steps in DEMO.md, which
could be scripted if we gave users a chance to skip the system changes
that they wanted to skip.
Also updated README and DEMO file to match new flow. Updated test
files.
Future cleanup and features documented in Trello, but not included in
this PR, which is big enough already :-)
Change-Id: I8d926a8b463124494ddb7a4696adbe86f89db7d5
Moved openstack env variables out of snapcraft.yaml, and into a
"microtack.rc".
Made openstack-wrapper, which auto sources microstack.rc.
Key off of revised snap.openstack, which supports snapctl config
values in templates. Moved a lot of the overlay into
snap-overlay/templates, and added config values to them. Also writes
templates just once, when you run snap-openstack setup.
Change-Id: Ib0f2e3fc97f491d9ed9dfbafc61dc8e27a8a2b48
This should fix the issue where the configure hook doesn't run
properly on systems without netcat installed.
Also got rid of call to install netcat in tools/install_and_build.sh.
Doubled timeout in .zuul.yaml to deal with timeout that happened
during this test (I think that we were pushing the hour timeout as it was).
Change-Id: Ie9cd729109a871c32c12108163d22008d91155f9
Tweaked tests/basic_test.sh functional test so that it no longer
requires multpass, and can run without kvm cpu extensions being
enabled (not all machines in the game have cpu extensions.)
Added tox.ini, wrapper script for building and installation, etc.
Change-Id: I968116dd7bec412a55813c896d60cfc86c7070db
* Cruft cleanup.
Organized snapcraft.yaml better, and got rid of unecessary bits.
* Cleaned up scripts.
Moved launch.sh into snap-overlay, to be more consistent with
everything else.
Got rid of outdated and confusing configure-the-things script.
* Clarified a comment.
* Got rid of erroneous config file.
* Undeleted config file -- wasn't erroneous!
Refactor snap to work with core18.
Giving the snapcraft.yaml a base property helps tremendously with the
efficiency of the build process, and I believe that it puts us in a
better position to reliably support non Ubuntu distros going forward.
This also bases us on long supported bionic libraries, and gives us a
nice place to work from as we add Python 3 and Stein support, as well
as general polish and fixes.
These are instructions for runnning the demo that we're planning on
running at the Denver Openstack summit. It walks the user through
deploying microstack, and then deploying a functioning kubernetes
cloud on top of it.
Dropped a command to change the endpoints from localhost to 10.20.20.1
in the configure hook.
This is a temporary solution, pending automation of the database
update. (I was burning too much time getting a manual dump to work for
now.)
Updated the mysql tarball, which has the localhost -> 10.20.20.1
update.
Test for pinging Internet was failing due to not waiting long enough,
so added a proper retry strategy.
Addresses the issue where services such as a juju controller cannot
access endpoints from within an instance.
Updated all references to localhost to 10.20.20.1, and added the
address to ALLOWED_HOSTS.
Also updated version of qemu lib.
This is a little messy -- it's a bash script with some outside
dependencies, and it makes assumptions about the capabilities of the
environment that it's being run in. But it does basically work, and
provides contributors with some basic reassurance that they have built
a working snap.
Fixes lp#1812415
Prior to this fix, instances spun up by microstack could not
successfully route to and from the Internet. Setting a rule for ipv4
forwarding and iptables rules for the nat fix the issue.
This is a bandaid for
https://github.com/CanonicalLtd/microstack/issues/39, where switching
to the material theme can get your GUI stuck in an errored
state. We'll re-enable everything once that bug is fixed.