Merge "Update installer_osm.sh to be used for normal, daily and rc installations"
diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh
index 48f2cae..7b45761 100755
--- a/installers/full_install_osm.sh
+++ b/installers/full_install_osm.sh
@@ -631,7 +631,7 @@
function install_juju() {
echo "Installing juju"
- sudo snap install juju --classic --channel=2.5/stable
+ sudo snap install juju --classic
[ -z "$INSTALL_NOLXD" ] && sudo dpkg-reconfigure -p medium lxd
echo "Finished installation of juju"
return 0
@@ -646,6 +646,10 @@
}
function juju_createproxy() {
+ echo -e "\nChecking required packages: iptables-persistent"
+ dpkg -l iptables-persistent &>/dev/null || ! echo -e " Not installed.\nInstalling iptables-persistent requires root privileges" || \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get -yq install iptables-persistent
+
if ! sudo iptables -t nat -C PREROUTING -p tcp -m tcp --dport 17070 -j DNAT --to-destination $OSM_VCA_HOST; then
sudo iptables -t nat -A PREROUTING -p tcp -m tcp --dport 17070 -j DNAT --to-destination $OSM_VCA_HOST
sudo netfilter-persistent save
diff --git a/tools/OVF_converter/ovf_converter_cli.py b/tools/OVF_converter/ovf_converter_cli.py
index afc7037..6caba88 100644
--- a/tools/OVF_converter/ovf_converter_cli.py
+++ b/tools/OVF_converter/ovf_converter_cli.py
@@ -81,7 +81,7 @@
"(default controller SCSI with lsilogicsas) "
"(SATA, IDE, Paravirtual, Buslogic, Lsilogic, Lsilogicsas) (optional)")
- parser.add_argument("--cdrom", action="store_true", default=True,
+ parser.add_argument("--cdrom", action="store_true", default=False,
help="whether to include a cd/dvd device (optional)")
parser.add_argument("-hw", "--hwversion", action="store", default=14,
diff --git a/tools/OVF_converter/uploader.py b/tools/OVF_converter/uploader.py
index 3702d38..7cb168f 100644
--- a/tools/OVF_converter/uploader.py
+++ b/tools/OVF_converter/uploader.py
@@ -22,7 +22,7 @@
import logging
from lxml import etree
import os
-from pyvcloud.vcd.client import BasicLoginCredentials, Client, QueryResultFormat, ResourceType, TaskStatus
+from pyvcloud.vcd.client import BasicLoginCredentials, Client, QueryResultFormat, ResourceType, TaskStatus, ApiVersion
from pyvcloud.vcd.exceptions import EntityNotFoundException, InternalServerException
from pyvcloud.vcd.org import Org
import sys
@@ -71,8 +71,12 @@
self.password = password
self.orgname = orgname
try:
- client = Client(self.vcd_url, verify_ssl_certs=False)
- client.set_highest_supported_version()
+ client = Client(self.vcd_url, verify_ssl_certs=False, api_version=ApiVersion.VERSION_32.value,
+ log_requests=True,
+ log_headers=True,
+ log_bodies=True,
+ log_file=LOG_FILE)
+ # sclient.set_highest_supported_version()
client.set_credentials(BasicLoginCredentials(self.username, self.orgname,
self.password))
logger.info("Logged into {} using version {}".format(self.vcd_url, client.get_api_version()))
@@ -112,11 +116,12 @@
raise problem
def make_catalog(self):
+ self.catalog_id = None
try:
- try:
- catalog = self.org.get_catalog(self.image_name)
- self.catalog_id = catalog.attrib['id'].split(':')[-1]
- except EntityNotFoundException:
+ for catalog in self.org.list_catalogs():
+ if catalog['name'] == self.image_name:
+ self.catalog_id = catalog['id']
+ if self.catalog_id is None:
logger.info("Creating a new catalog entry {} in vCD".format(self.image_name))
result = self.org.create_catalog(self.image_name, self.image_description)
if result is None:
@@ -133,11 +138,17 @@
def upload_ovf(self):
+ ova_tarfilename, _ = os.path.splitext(self.ovf_file)
+ ova_tarfilename += '.ova'
try:
# Check if the content already exists:
- items = self.org.list_catalog_items(self.image_name)
- for item in items:
- if item['name'] == self.image_name:
+ resource_type = ResourceType.CATALOG_ITEM.value
+ q = self.client.get_typed_query(
+ resource_type,
+ query_result_format=QueryResultFormat.ID_RECORDS,
+ equality_filter=('catalogName', self.image_name))
+ for item in list(q.execute()):
+ if item.get('name') == self.image_name:
logger.info("Removing old version from catalog")
try:
self.org.delete_catalog_item(self.image_name, self.image_name)
@@ -149,8 +160,6 @@
raise problem
# Create a single OVA bundle
- ova_tarfilename, _ = os.path.splitext(self.ovf_file)
- ova_tarfilename += '.ova'
ova = tarfile.open(name=ova_tarfilename,
mode='w')
ova.add(self.ovf_file, arcname=os.path.basename(self.ovf_file))