← Back to team overview

canonical-ubuntu-qa team mailing list archive

[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