From 4f20a2f00fc339029ff8dbf2629f63ebfde8f989 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Tue, 14 Aug 2018 19:26:27 +0100 Subject: [PATCH] Pin Ansible Galaxy dependencies Currently kayobe's ansible galaxy dependencies are unpinned. For versioned roles, any new release will be picked up. For unversioned roles, any new commit to master will be picked up. This is clearly not ideal for stability, and we should pin these dependencies to specific versions to avoid things changing under our feet. For unversioned roles, we may want to consider adding versioning where we have the power to do so. Change-Id: Ib83a0d95b9061b3a57cb0e7c4cff3488ee076664 Story: 2003437 Task: 24633 --- doc/source/development/development.rst | 22 +++++++++++++++++++++ doc/source/development/index.rst | 1 + requirements.yml | 27 ++++++++++++++++++++++---- 3 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 doc/source/development/development.rst diff --git a/doc/source/development/development.rst b/doc/source/development/development.rst new file mode 100644 index 000000000..7c2203db1 --- /dev/null +++ b/doc/source/development/development.rst @@ -0,0 +1,22 @@ +=========== +Development +=========== + +Ansible Galaxy +============== + +Kayobe uses a number of Ansible roles hosted on Ansible Galaxy. The role +dependencies are tracked in ``requirements.yml``, and specify required +versions. The process for changing a Galaxy role is as follows: + +#. If required, develop changes for the role. This may be done outside of + Kayobe, or by modifying the role in place during development. If upstream + changes to the role have already been made, this step can be skipped. +#. Commit changes to the role, typically via a Github pull request. +#. Request that a tagged release of the role be made, or make one if you have + the necessary privileges. +#. Ensure that automatic imports are configured for the role using e.g. a + TravisCI webhook notification, or perform a manual import of the role on + Ansible Galaxy. +#. Modify the version in ``requirements.yml`` to match the new release of the + role. diff --git a/doc/source/development/index.rst b/doc/source/development/index.rst index 7aa5edf91..130dea8d2 100644 --- a/doc/source/development/index.rst +++ b/doc/source/development/index.rst @@ -8,5 +8,6 @@ Kayobe Development Guide vagrant manual automated + development testing contributing diff --git a/requirements.yml b/requirements.yml index c7e63ac0a..3a4997d20 100644 --- a/requirements.yml +++ b/requirements.yml @@ -1,25 +1,44 @@ --- - src: ahuffman.resolv + version: v1.2 - src: jriguera.configdrive + # There are no versioned releases of this role. + version: 6b5f1d55bc3f27fa2855d8dd59b5c224d160d806 - src: MichaelRigart.interfaces + version: v1.1.0 - src: mrlesmithjr.manage-lvm + version: v0.1.1 - src: resmo.ntp -#- src: singleplatform-eng.users -- src: https://github.com/stackhpc/ansible-users - version: append - name: singleplatform-eng.users + version: 0.4.0 +- src: singleplatform-eng.users + version: v1.2.5 - src: stackhpc.dell-powerconnect-switch + version: v1.0.0 - src: stackhpc.drac + version: 1.1.4 - src: stackhpc.drac-facts + version: 1.0.0 - src: stackhpc.grafana-conf + version: 1.0 - src: stackhpc.libvirt-host + version: v1.1.0 - src: stackhpc.libvirt-vm + version: v1.1.0 - src: stackhpc.mellanox-switch + version: v1.0.0 - src: stackhpc.os-flavors + version: v1.0.0 - src: stackhpc.os-images + version: v1.0.0 - src: stackhpc.os-ironic-state + version: v1.0.0 - src: stackhpc.os-networks + version: v1.0.0 - src: stackhpc.os-openstackclient + version: v1.2.0 - src: stackhpc.os-projects + version: v1.1.2 - src: stackhpc.os-shade + version: v1.2.0 - src: yatesr.timezone + version: 1.1.0