summaryrefslogtreecommitdiffstats
path: root/docker_upgrade_scripts
diff options
context:
space:
mode:
Diffstat (limited to 'docker_upgrade_scripts')
-rw-r--r--docker_upgrade_scripts/README.md40
-rwxr-xr-xdocker_upgrade_scripts/fabfile.py32
-rw-r--r--docker_upgrade_scripts/onap_docker_upgrade.conf21
-rwxr-xr-xdocker_upgrade_scripts/onap_docker_upgrade.py180
4 files changed, 0 insertions, 273 deletions
diff --git a/docker_upgrade_scripts/README.md b/docker_upgrade_scripts/README.md
deleted file mode 100644
index 5d981587..00000000
--- a/docker_upgrade_scripts/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-#Docker Upgrade Scripts
-
-##Description
-These scripts will upgrade docker images in all ONAP components
-
-##Setting UP
-
-apt-get install python-pip
-
-pip install Fabric
-
-Download all the files and modify onap_docker_upgrade.conf with correct configuration based on infrastructure endpoints
-
-[keystone_auth]
-user = <user_name>
-password = <password>
-tenant = <tenant>
-url = <keystone_url>
-
-user: User name to access the tenant
-Password: Password for the user authentication
-tenant: Tenant information
-url: keystone endpoint URL. Currently v2.0 is only supported
-
-[onap]
-instance_prefix = <name>
-
-instance_prefix: ONAP instance prefix configured in heat template or VM name
-
-Deployment type: 1-nic-nofloat, 1-nic-float, 2-nic
-deployment_type = <type>
-
-deployment_type: Based on infrastructure network setup for VMs
-
-dcae_key_path = <key_for_dcae_component>
-onap_key_path = <key_for_onap_component>
-
-Run python onap_docker_upgrade.py
-
-To run daily basis, add the script to cron job and redirect output to a log file
diff --git a/docker_upgrade_scripts/fabfile.py b/docker_upgrade_scripts/fabfile.py
deleted file mode 100755
index f4c5726c..00000000
--- a/docker_upgrade_scripts/fabfile.py
+++ /dev/null
@@ -1,32 +0,0 @@
-from fabric.api import *
-from fabric.context_managers import *
-
-def uptime():
- res = run('cat /proc/uptime')
- print res
-
-def host_type():
- run('uname -s')
-
-def upgrade_docker(server_name, my_env):
- server_name=server_name.split("-")[1]
- if server_name in "message-router":
- execute_file = "/opt/mr_vm_init.sh"
- elif server_name in "dcae-controller":
- execute_file = "/opt/dcae2_vm_init.sh"
- elif server_name in "multiserv-server":
- execute_file = "/opt/multiserv_all_serv.sh"
- elif server_name in "dns":
- execute_file = None
- else:
- execute_file = "/opt/" + server_name + "_vm_init.sh"
- print "Executing file %s" % execute_file
- if execute_file:
- with settings( warn_only=True, key_filename=my_env['key_filename'], user=my_env['user']):
- sudo(execute_file)
-
-def health_checks_robot(my_env):
- with settings( warn_only=True, key_filename=my_env['key_filename'], user=my_env['user']):
- with cd('/opt'):
- sudo('./ete.sh health')
-
diff --git a/docker_upgrade_scripts/onap_docker_upgrade.conf b/docker_upgrade_scripts/onap_docker_upgrade.conf
deleted file mode 100644
index 9b6e527a..00000000
--- a/docker_upgrade_scripts/onap_docker_upgrade.conf
+++ /dev/null
@@ -1,21 +0,0 @@
-[keystone_auth]
-user = <user_name>
-password = <password>
-tenant = <tenant>
-url = <keystone_url>
-
-[onap]
-instance_prefix = vm1
-
-###Deployment type: 1-nic-nofloat, 1-nic-float, 2-nic
-deployment_type = 1-nic-nofloat
-
-###onap_net_name is required for 1-nic-float and 2-nic environments
-#onap_net_name =
-
-dcae_key_path = <key_for_dcae_component>
-onap_key_path = <key_for_onap_component>
-
-###Nova url is optional and useful when the cloud provider endpoints are internal
-[nova]
-url = <nova_url>
diff --git a/docker_upgrade_scripts/onap_docker_upgrade.py b/docker_upgrade_scripts/onap_docker_upgrade.py
deleted file mode 100755
index c11163ad..00000000
--- a/docker_upgrade_scripts/onap_docker_upgrade.py
+++ /dev/null
@@ -1,180 +0,0 @@
-#!/usr/bin/python
-
-import argparse
-#import getopt
-import json
-import sys
-import urllib2
-import ConfigParser
-import time
-from fabric.context_managers import settings
-from fabric.api import *
-from fabfile import *
-
-
-class ReadConfFile:
-
- config = None
-
- def __init__(self, file="onap_docker_upgrade.conf"):
-
- """
- Method to read from conf file specific options
-
- :param file:
- """
- self.config = ConfigParser.SafeConfigParser()
- self.config.readfp(open(file))
-
- def read_option(self, group, name):
- """
- :return:
- """
- value = self.config.get(group, name)
- return value
-
-
-def getToken(url, osuser, ostenant, ospassword):
-
- """
- Returns a token to the user given a tenant,
- user name, password, and OpenStack API URL.
- """
- url = url + '/tokens'
- tokenRequest = urllib2.Request(url)
- tokenRequest.add_header("Content-type", "application/json")
- jsonPayload = json.dumps({'auth' : {'tenantName' : ostenant, 'passwordCredentials' : {'username' : osuser, 'password' : ospassword}}})
-
- request = urllib2.urlopen(tokenRequest, jsonPayload)
- json_data = json.loads(request.read())
-
- request.close()
- return json.dumps(json_data)
-
-def getServers(url, token):
- """
- Returns a list of server in a given tenant
- """
- url = url + '/servers'
- #handler=urllib2.HTTPHandler(debuglevel=1)
- #opener = urllib2.build_opener(handler)
- #urllib2.install_opener(opener)
- nova_server_request = urllib2.Request(url)
- nova_server_request.add_header("Content-type", "application/json")
- nova_server_request.add_header("X-Auth-Token", token)
- request = urllib2.urlopen(nova_server_request)
- json_data = json.loads(request.read())
-
- request.close()
- return json.dumps(json_data)
-
-def getServerInfo(url, token, server):
- """
- Returns the server information in a given tenant
- """
- url = url + '/servers/' + server
- #handler=urllib2.HTTPHandler(debuglevel=1)
- #opener = urllib2.build_opener(handler)
- #urllib2.install_opener(opener)
- nova_server_request = urllib2.Request(url)
- nova_server_request.add_header("Content-type", "application/json")
- nova_server_request.add_header("X-Auth-Token", token)
- request = urllib2.urlopen(nova_server_request)
- json_data = json.loads(request.read())
-
- request.close()
- return json.dumps(json_data)
-
-conf_file = ReadConfFile()
-
-#Reading keystone_auth
-url=conf_file.read_option('keystone_auth', 'url')
-user=conf_file.read_option('keystone_auth', 'user')
-password=conf_file.read_option('keystone_auth', 'password')
-tenant=conf_file.read_option('keystone_auth', 'tenant')
-
-#Reading onap
-instance_prefix=conf_file.read_option('onap', 'instance_prefix')
-deployment_type=conf_file.read_option('onap', 'deployment_type')
-if deployment_type in ("1-nic-float" or "2-nic"):
- onap_net_name=conf_file.read_option('onap', 'onap_net_name')
-dcae_key_path=conf_file.read_option('onap', 'dcae_key_path')
-onap_key_path=conf_file.read_option('onap', 'onap_key_path')
-
-#Reading nova
-nova_url=conf_file.read_option('nova', 'url')
-
-# Since we return a raw JSON payload from getToken,
-# we need to load it into a readable object.
-adminToken = json.loads(getToken(url, user, tenant, password))
-
-# Access the token portion of the JSON payload and grab the token and tenant ID
-adminTokenID = adminToken['access']['token']['id']
-adminTokenTenantID = adminToken['access']['token']['tenant']['id']
-
-for item in adminToken['access']['serviceCatalog']:
- """
- The "name" of each OpenStack service catalog item from
- the item list changed between versions. Things like
- "glance" became "volume" and "keystone" became "identity".
- You will need to update this based on your installation.
- """
- if nova_url:
- adminNovaURL = nova_url + "/" + adminTokenTenantID
- elif item['name'] == "nova":
- adminNovaURL = item['endpoints'][0]['adminURL']
-
-print "------ Admin information ------"
-print "Token ID = ", adminTokenID
-print "Tenant ID = ", adminTokenTenantID
-print "Nova URL = ", adminNovaURL
-print "------ End Admin info ---------"
-
-get_nova_servers = json.loads(getServers(adminNovaURL, adminTokenID))
-#print get_nova_servers
-#print get_nova_servers['servers'][0]['id']
-execute_aai1 = False
-for item in get_nova_servers['servers']:
- #print item['id'], item['name']
- if instance_prefix in item['name']:
- print "Found matching server name: %s with id %s" % (item['name'], item['id'])
- get_server_info = json.loads(getServerInfo(adminNovaURL, adminTokenID, item['id']))
- for net_info in get_server_info['server']['addresses']:
- if deployment_type in ("1-nic-float" or "2-nic"):
- if onap_net_name not in net_info:
- server_ip = get_server_info['server']['addresses'][net_info][0]['addr']
- elif deployment_type in "1-nic-nofloat":
- server_ip = get_server_info['server']['addresses'][net_info][1]['addr']
- server_name = item['name']
- if "robot" in server_name:
- robot_ip = server_ip
- elif "aai-inst1" in server_name:
- aai1_ip = server_ip
- is_aai2_executed = False
- if not is_aai2_executed:
- execute_aai1 = False
- aai1_server_name = server_name
- else:
- execute_aai1 = True
- elif "aai-inst2" in server_name:
- aai2_ip = server_ip
- is_aai2_executed = True
- print "IP address of vm %s is %s" % (item['name'], server_ip)
-
- with settings(warnings=True, skip_bad_hosts=True):
- if "dcae-controller" in server_name:
- execute(upgrade_docker, server_name, hosts=server_ip, my_env={'key_filename':dcae_key_path, 'user':'ubuntu'})
- else:
- if "aai-inst1" not in server_name:
- execute(upgrade_docker, server_name, hosts=server_ip, my_env={'key_filename':onap_key_path, 'user':'ubuntu'})
- elif execute_aai1:
- execute(upgrade_docker, server_name, hosts=server_ip, my_env={'key_filename':onap_key_path, 'user':'ubuntu'})
- else:
- print "Skipping %s upgrade until aai2 finishes upgrade" % server_name
-
-with settings(warnings=True):
- if not execute_aai1:
- print "Starting %s upgrade" % aai1_ip
- execute(upgrade_docker, aai1_server_name, hosts=aai1_ip, my_env={'key_filename':onap_key_path, 'user':'ubuntu'})
- time.sleep(300)
- execute(health_checks_robot, hosts=robot_ip, my_env={'key_filename':onap_key_path, 'user':'ubuntu'})