canonical-ubuntu-qa team mailing list archive
-
canonical-ubuntu-qa team
-
Mailing list archive
-
Message #02029
[Merge] ~hyask/autopkgtest-cloud:skia/local_dev into autopkgtest-cloud:master
Skia has proposed merging ~hyask/autopkgtest-cloud:skia/local_dev into autopkgtest-cloud:master.
Requested reviews:
Canonical's Ubuntu QA (canonical-ubuntu-qa)
For more details, see:
https://code.launchpad.net/~hyask/autopkgtest-cloud/+git/autopkgtest-cloud/+merge/456612
--
Your team Canonical's Ubuntu QA is requested to review the proposed merge of ~hyask/autopkgtest-cloud:skia/local_dev into autopkgtest-cloud:master.
diff --git a/.gitignore b/.gitignore
index 6a76737..0682011 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
docs/_build
*.charm
+__pycache__
diff --git a/charms/focal/autopkgtest-web/webcontrol/publish-db b/charms/focal/autopkgtest-web/webcontrol/publish-db
index 76a2177..f134618 100755
--- a/charms/focal/autopkgtest-web/webcontrol/publish-db
+++ b/charms/focal/autopkgtest-web/webcontrol/publish-db
@@ -74,7 +74,9 @@ def init_db(path, path_current, path_rw):
logging.debug("Old current_versions copied over")
current_version_copied = True
except sqlite3.OperationalError as e:
- if "no such column: pocket" not in str(
+ if "no such table: current" in str(e):
+ logging.debug("current database is empty, nothing to copy")
+ elif "no such column: pocket" not in str(
e
) and "no such column: component" not in str(
e
diff --git a/docs/deploying.rst b/docs/deploying.rst
index 85d853f..2919b8a 100644
--- a/docs/deploying.rst
+++ b/docs/deploying.rst
@@ -214,7 +214,7 @@ don't worry about messing it up. For that reason it's important to keep
automated deployments working and eliminate the need for post-deploy manual
hacks.
-testing wip changes
+Testing WIP changes
^^^^^^^^^^^^^^^^^^^
The ``charm release`` command demonstrated above releases to the *stable*
@@ -226,5 +226,23 @@ merged into the main branch, you can release into *edge* with ``charm release
$ mojo run
-under the staging user as usual to test your change. Staging tracks edge by
+Under the staging user as usual to test your change. Staging tracks edge by
default.
+
+
+Deploying a local development environment
+-----------------------------------------
+
+Prerequisites
+^^^^^^^^^^^^^
+
+Have an OpenStack environment accessible. You can have a local one, but that's
+out of the scope of this doc, or use *canonistack* if you have access to it (if
+you do that, make sure your VPN is up!).
+
+This OpenStack will not be used to run the ``autopkgtest-cloud`` code, but only
+for the worker and swift storage part. The code will run locally on whatever
+``juju`` cloud you set up with ``juju bootstrap`` (usually a local LXD cloud).
+
+Please note that on a local development machine, you may run into some strange
+network issues. They may be `related to Docker + LXD <https://documentation.ubuntu.com/lxd/en/latest/howto/network_bridge_firewalld/#prevent-connectivity-issues-with-lxd-and-docker>`_.
diff --git a/mojo/service-bundle b/mojo/service-bundle
index 17d8bbd..c2e84f7 100644
--- a/mojo/service-bundle
+++ b/mojo/service-bundle
@@ -60,11 +60,12 @@ applications:
swift-tenant: stg_proposed-migration_project
swift-auth-version: 2
{%- elif stage_name == "devel" %}
- swift-auth-url: XXX
- swift-username: XXX
- swift-region: XXX
+ # Most Canonistack values can be found in your canonistack novarc file
+ swift-auth-url: https://keystone.bos01.canonistack.canonical.com:5000/v3
+ swift-username: obiwankenobi # canonistack username -- you need to change this
+ swift-region: canonistack-bos01
swift-project-domain-name: default
- swift-project-name: XXX
+ swift-project-name: obiwankenobi_project # canonistack project -- you need to change this
swift-user-domain-name: default
swift-auth-version: 3
{%- endif %}
@@ -181,8 +182,10 @@ applications:
{%- set storage_host_internal = "10.24.0.23:8080" %}
{%- set storage_path_internal = "/v1/AUTH_fc846d173967483bb32abd78f66210e8" %}
{%- elif stage_name == "devel" %}
- storage_host_internal: XXX
- storage_path_internal: XXX
+ {# canonistack objectstorage URL #}
+ {%- set storage_host_internal = "swift-proxy.bos01.canonistack.canonical.com:8080" %}
+ {# canonistack swift path, find this with `swift stat` #}
+ {%- set storage_path_internal = "/v1/AUTH_0123456789abcdef0123456789abcdef" %}
{%- endif %}
storage-url-internal: https://{{ storage_host_internal }}{{ storage_path_internal }}
{%- if stage_name == "production" or stage_name == "staging" %}
diff --git a/mojorc b/mojorc
new file mode 100644
index 0000000..6cebc6f
--- /dev/null
+++ b/mojorc
@@ -0,0 +1,9 @@
+export MOJO_ROOT=~/.local/share/mojo
+export MOJO_SERIES=focal
+export MOJO_PROJECT=autopkgtest-cloud
+export MOJO_WORKSPACE=autopkgtest-cloud
+export MOJO_SPEC="$(pwd)/mojo/"
+export MOJO_STAGE=devel
+
+mojo project-new $MOJO_PROJECT -s $MOJO_SERIES --container containerless
+mojo workspace-new --project $MOJO_PROJECT -s $MOJO_SERIES $MOJO_SPEC $MOJO_WORKSPACE
References