MSB_PORT=`echo $MSB_ADDR | cut -d: -f 2`
if [ $MSB_IP ]; then
- sed -i "s|MSB_SERVICE_IP.*|MSB_SERVICE_IP = '$MSB_IP'|" vfc/gvnfm/vnflcm/lcm/lcm/pub/config/config.py
+ sed -i "s|MSB_SERVICE_IP = .*|MSB_SERVICE_IP = '$MSB_IP'|" vfc/gvnfm/vnflcm/lcm/lcm/pub/config/config.py
fi
if [ $MSB_PORT ]; then
- sed -i "s|MSB_SERVICE_PORT.*|MSB_SERVICE_PORT = '$MSB_PORT'|" vfc/gvnfm/vnflcm/lcm/lcm/pub/config/config.py
+ sed -i "s|MSB_SERVICE_PORT = .*|MSB_SERVICE_PORT = '$MSB_PORT'|" vfc/gvnfm/vnflcm/lcm/lcm/pub/config/config.py
fi
if [ $SERVICE_IP ]; then
from lcm.pub.exceptions import NFLCMException
from lcm.pub.exceptions import NFLCMExceptionSeeOther
from lcm.pub.utils.values import ignore_case_get
-from lcm.pub.config.config import MSB_SERVICE_IP, MSB_SERVICE_PORT
+from lcm.pub.config.config import MSB_BASE_URL
logger = logging.getLogger(__name__)
def check_callbackuri_connection(self):
logger.debug("SubscribeNotification-post::> Sending GET request "
"to %s" % self.callback_uri)
- try:
- response = requests.get(self.callback_uri, timeout=2)
- if response.status_code != status.HTTP_204_NO_CONTENT:
- raise NFLCMException("callbackUri %s returns %s status "
- "code." % (self.callback_uri, response.status_code))
- except Exception:
- raise NFLCMException("callbackUri %s didn't return 204 status"
- "code." % self.callback_uri)
+ retry_count = 3
+ while retry_count > 0:
+ response = requests.get(self.callback_uri, timeout=10)
+ if response.status_code == status.HTTP_204_NO_CONTENT:
+ return
+ logger.debug("callbackUri %s returns %s status code." % (self.callback_uri, response.status_code))
+ retry_count = - 1
+
+ raise NFLCMException("callbackUri %s didn't return 204 status." % self.callback_uri)
def do_biz(self):
self.subscription_id = str(uuid.uuid4())
for subscription in subscriptions:
if self.check_filter_exists(subscription):
links = json.loads(subscription.links)
- raise NFLCMExceptionSeeOther("http://%s:%s/%s" % (MSB_SERVICE_IP, MSB_SERVICE_PORT, links["self"]["href"]))
+ raise NFLCMExceptionSeeOther("%s/%s" % (MSB_BASE_URL, links["self"]["href"]))
return False
def save_db(self):
self.lcm_op_occ = VnfLcmOpOcc(
vnf_inst_id=nf_inst_id,
lcm_op_id=job_id,
- operation=OPERATION_TYPE.SCALE,
- task=OPERATION_TASK.SCALE
+ operation=OPERATION_TYPE.TERMINATE,
+ task=OPERATION_TASK.TERMINATE
)
def run(self):
# See the License for the specific language governing permissions and
# limitations under the License.
-from lcm.pub.config import config
+from lcm.pub.config.config import MSB_BASE_URL
from lcm.pub.utils.jobutil import enum
HEAL_ACTION_TYPE = enum(
RESOURCE_MAP = {'Storage': 'volumn', 'Network': 'network', 'SubNetwork': 'subnet', 'Port': 'port',
'Flavour': 'flavor', 'Vm': 'vm'}
-URL_PREFIX = "http://%s:%s/api/vnflcm/v1" % (config.MSB_SERVICE_IP, config.MSB_SERVICE_PORT)
+URL_PREFIX = "%s/api/vnflcm/v1" % (MSB_BASE_URL)
ROOT_URI = "api/vnflcm/v1/subscriptions/"
# [MSB]
MSB_SERVICE_IP = '127.0.0.1'
-MSB_SERVICE_PORT = '80'
+MSB_SERVICE_PORT = '443'
+MSB_BASE_URL = "https://%s:%s" % (MSB_SERVICE_IP, MSB_SERVICE_PORT)
# [REDIS]
REDIS_HOST = '127.0.0.1'
logger.info("Send Notifications to the callbackUri")
filters = {
"operationState": "operation_states",
- "operation": "operation_types"
+ "operation": "operation_types",
+ "vnfInstanceId": "vnf_instance_filter"
}
subscriptions_filter = {v + "__contains": notification[k] for k, v in list(filters.items())}
import uuid
import httplib2
-from lcm.pub.config.config import MSB_SERVICE_IP, MSB_SERVICE_PORT
+from lcm.pub.config.config import MSB_BASE_URL
rest_no_auth, rest_oneway_auth, rest_bothway_auth = 0, 1, 2
HTTP_200_OK, HTTP_201_CREATED, HTTP_204_NO_CONTENT, HTTP_202_ACCEPTED = '200', '201', '204', '202'
def req_by_msb(resource, method, content=''):
- base_url = "http://%s:%s/" % (MSB_SERVICE_IP, MSB_SERVICE_PORT)
+ base_url = MSB_BASE_URL
return call_req(base_url, "", "", rest_no_auth, resource, method, content)
param["nicArray"].append({
"portId": get_res_id(res_cache, RES_PORT, cp_id)
})
- param["contextArray"] = ignore_case_get(vm["properties"], "inject_files")
+ param["contextArray"] = ignore_case_get(vm["properties"], "inject_files", [])
logger.debug("contextArray:%s", param["contextArray"])
for vol_data in ignore_case_get(vm, "volume_storages"):
vol_id = vol_data["volume_storage_id"]
# rest framework
Django==2.1.10
-djangorestframework==3.9.4
+djangorestframework==3.10.0
# for access MySQL
PyMySQL==0.9.3
# for auto-swagger
ruamel.yaml==0.15.97
-drf-yasg==1.14.0
+drf-yasg==1.17.0
flex>=6.11.1
swagger-spec-validator>=2.1.0