← Back to team overview

cloud-init-dev team mailing list archive

[Merge] ~powersj/cloud-init:enable-snap into cloud-init:master


Joshua Powers has proposed merging ~powersj/cloud-init:enable-snap into cloud-init:master.

Commit message:
snap: allows for creating cloud-init snap

Add a basic snapcraft.yaml file to allow the creation of cloud-init as
a snap. This will always pull down the latest source from master for
the snap. setup.py will now also set the default init system to be
systemd when no init system is specified.

Requested reviews:
  cloud init development team (cloud-init-dev)

For more details, see:
Your team cloud init development team is requested to review the proposed merge of ~powersj/cloud-init:enable-snap into cloud-init:master.
diff --git a/.gitignore b/.gitignore
index 3946ec7..b0500a6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,7 @@ __pycache__
diff --git a/setup.py b/setup.py
index e6693c9..32a44d9 100755
--- a/setup.py
+++ b/setup.py
@@ -138,9 +138,7 @@ class InitsysInstallData(install):
             self.init_system = self.init_system.split(",")
         if len(self.init_system) == 0:
-            raise DistutilsArgError(
-                ("You must specify one of (%s) when"
-                 " specifying init system(s)!") % (", ".join(INITSYS_TYPES)))
+            self.init_system = ['systemd']
         bad = [f for f in self.init_system if f not in INITSYS_TYPES]
         if len(bad) != 0:
diff --git a/snapcraft.yaml b/snapcraft.yaml
new file mode 100644
index 0000000..6a0163e
--- /dev/null
+++ b/snapcraft.yaml
@@ -0,0 +1,21 @@
+name: cloud-init
+version: master
+summary: Init scripts for cloud instances
+description: |
+  Cloud instances need special scripts to run during initialisation to
+  retrieve and install ssh keys and to let the user run various scripts.
+grade: devel
+confinement: classic
+  cloud-init:
+    # LP: #1664427
+    command: usr/bin/python3 $SNAP/bin/cloud-init
+  cloud-init:
+    plugin: python
+    source-type: git
+    source: https://git.launchpad.net/cloud-init

Follow ups