From 70f5610b9403a8a4bcbf877cd3843e0f19a945b8 Mon Sep 17 00:00:00 2001
From: Delia <delia.passalacqua@garr.it>
Date: Wed, 19 Feb 2020 14:55:00 +0100
Subject: [PATCH] * remove image no longer active * update requirements * add
 keystone and regions parameters to generate-files-for-simplestream.py

---
 README.md                          |  4 +--
 config.yml                         | 44 +++++++++++++++---------------
 generate-files-for-simplestream.py | 20 ++++++++++++--
 requirements.txt                   |  2 ++
 4 files changed, 43 insertions(+), 27 deletions(-)

diff --git a/README.md b/README.md
index 78f1297..b4f4be3 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ This script automates the process of updating images of operating systems in Ope
 
 - CentOS 7
 - Debian 9
-- Fedora 28
+- ~~Fedora 28~~
 - Fedora 29
 - Ubuntu 16.04
 - Ubuntu 18.04
@@ -17,7 +17,7 @@ Installation
 
 	$ sudo apt install python3 python3-dev python3-pip -y 
 	$ pip3 install --upgrade pip
-	$ pip3 install datetime shade tqdm python-openstackclient
+	$ pip3 install -r requirements.txt
 	$ git clone https://git.garr.it/cloud/admin/update-images.git
 
 Usage
diff --git a/config.yml b/config.yml
index f9ce512..8053dfb 100644
--- a/config.yml
+++ b/config.yml
@@ -31,22 +31,22 @@ images:
     - "hw_qemu_guest_agent=yes"
     - "hw_vif_multiqueue_enabled=true"
     - "hw_rng_model=virtio"
-  fedora28:
-    name: Fedora 28 - GARR
-    url: https://download.fedoraproject.org/pub/fedora/linux/releases/28/Cloud/x86_64/images/Fedora-Cloud-Base-28-1.1.x86_64.qcow2
-    disk_format: qcow2
-    extraargs:
-    - "min_disk=5"
-    - "min_ram=1024"
-    tags:
-    - "os_distro=fedora"
-    - "os_type=linux"
-    - "os_version=28"
-    - "architecture=x86_64"
-    - "os_require_quiesce=yes"
-    - "hw_qemu_guest_agent=yes"
-    - "hw_vif_multiqueue_enabled=true"
-    - "hw_rng_model=virtio"
+#  fedora28:
+#    name: Fedora 28 - GARR
+#    url: https://download.fedoraproject.org/pub/fedora/linux/releases/28/Cloud/x86_64/images/Fedora-Cloud-Base-28-1.1.x86_64.qcow2
+#    disk_format: qcow2
+#    extraargs:
+#    - "min_disk=5"
+#    - "min_ram=1024"
+#    tags:
+#    - "os_distro=fedora"
+#    - "os_type=linux"
+#    - "os_version=28"
+#    - "architecture=x86_64"
+#    - "os_require_quiesce=yes"
+#    - "hw_qemu_guest_agent=yes"
+#    - "hw_vif_multiqueue_enabled=true"
+#    - "hw_rng_model=virtio"
   fedora29:
     name: Fedora 29 - GARR
     url: https://download.fedoraproject.org/pub/fedora/linux/releases/29/Cloud/x86_64/images/Fedora-Cloud-Base-29-1.2.x86_64.qcow2
@@ -78,12 +78,12 @@ images:
     - "os_require_quiesce=yes"
     - "hw_qemu_guest_agent=yes"
     - "hw_vif_multiqueue_enabled=true"
-  ubuntu-12.04:
-    name: Ubuntu 12.04 - GARR
-    simplestreams: com.ubuntu.cloud:server:12.04:amd64
-  ubuntu-14.04:
-    name: Ubuntu 14.04 - GARR
-    simplestreams: com.ubuntu.cloud:server:14.04:amd64
+  #ubuntu-12.04:
+  #  name: Ubuntu 12.04 - GARR
+  #  simplestreams: com.ubuntu.cloud:server:12.04:amd64
+  #ubuntu-14.04:
+  #  name: Ubuntu 14.04 - GARR
+  #  simplestreams: com.ubuntu.cloud:server:14.04:amd64
   ubuntu-16.04:
     name: Ubuntu 16.04 - GARR
     url: https://cloud-images.ubuntu.com/releases/16.04/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img
diff --git a/generate-files-for-simplestream.py b/generate-files-for-simplestream.py
index f7e3861..debe3d7 100755
--- a/generate-files-for-simplestream.py
+++ b/generate-files-for-simplestream.py
@@ -6,14 +6,28 @@ import yaml
 import json
 import time
 import pathlib
+import argparse
+
+
+parser = argparse.ArgumentParser(description='Generate simplestreams metadata')
+parser.add_argument('-r','--regions', nargs='+', help='List of regions: e.g. garr-ct1 garr-pa1. default=[\'garr-ct1, garr-pa1\']', default=['garr-ct1, garr-pa1'], required=False)
+parser.add_argument('-k','--keystone', help='Keystone endpoint: e.g. https://keystone.cloud.garr.it:5000/v3. default="https://keystone.cloud.garr.it:5000/v3"', default="https://keystone.cloud.garr.it:5000/v3", required=False)
+
+
+
+args = parser.parse_args()
+
 
 OUTPUT_DIR="./output/simplestreams/images/streams/v1/"
-REGIONS = ['garr-pa1', 'garr-ct1']
-KEYSTONE_ENDPOINT = "https://keystone.cloud.garr.it:5000/v3"
+REGIONS = args.regions
+KEYSTONE_ENDPOINT = args.keystone
+
+print("REGIONS =",REGIONS)
+print("KEYSTONE_ENDPOINT=",KEYSTONE_ENDPOINT)
 
 config = None
 with open('config.yml') as fh_config:
-    config = yaml.load(fh_config)
+    config = yaml.full_load(fh_config)
     fh_config.close()
 
 # create the output directory
diff --git a/requirements.txt b/requirements.txt
index f56d84d..335a346 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,6 @@
+
 datetime
 shade
 tqdm
 python-openstackclient
+pyyaml
-- 
GitLab