Configuration Backup
Although the system configuration will not change upon the software upgrade, creating a backup file of the configuration is mandatory by exporting the complete configuration before any software upgrade.
The MCM-9000 software is delivered on a USB Flash disk (DoK). Besides, Online and Offline Software Upgrade, it is possible to do software upgrade through API.
To perform a Software upgrade along with a License and Firmware update through API, follow the below steps:
1. Download Latest Files
Login to TagVS Storage Center and download the latest files: "MCM-9000_vxxxx.rar" (software), "Firmware_vxxxx.rar" (firmware), and "License_vxxxx.rar".
2. Upload Software to Device Using POST API call.
Use the POST command to upload software to the GUI.
POST: http://{host}/api/2.0/system_files/command/UploadFile/software
For Example, http://192.168.10.131/api/2.0/system_files/command/UploadFile/software
Under the body section on the POSTMAN, insert the KEY as data (File), upload the MCM file to upgrade under the VALUE field as shown below, and click Send.
3. To choose the next boot image from the dropdown use the GET API call.
GET “next_boot_image“: http://{host}/api/2.0/devices/9898/.json
For example, http://192.168.10.131/api/2.0/devices/9898/.json
Response
{ "Device": { "id": 9898, "is_conected_device": 1, "title": "MCM9000-SN:9898", "color": "#8f6ce0,#abd93f", "sys_up_time": "1702843699579", "sys_running_time": "2128004930", "current_time": "1704971704509", "stack_title": null, "series": "MCM-9000 Series", "model": "MCM-9000", "serial": "9898", "version": "6.3.5", "hardware_desc": "Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz (x16), 16 GB Ram", "capability_desc": "88 Channels", "license_sharing": 1, "active_licenses": 5.6, "total_licenses": 0, "active_weight": 25, "total_weight": 68, "active_decoders": 5, "active_recorders": 0, "active_fingerprints": 3, "active_descramblers": 0, "active_uncompressed": 0, "active_encoders": 0, "working_mode_id": 1, "current_active_image": 1, "next_boot_image": 2, "modified": "1704971704509", "status_stack_title": null, "ntp_offset": 177.411, "ntp_offset_age": 5, "ntp_drift": null, "ntp_sync": 1, "max_rec_time": 0, "cur_rec_bandwidth": 0, "status_id": 4, "ip_address": "192.168.10.131", "licensed_features": 254, "license_expiration": null, "Ldap": { "enabled": 0, "host": "", "port": 389, "version": 3, "secured": 0, "bindDN": "uid=test,ou=people,dc=testlab,dc=com", "network_id": 0, "bindPassword": "", "baseSearchDN": "dc=testlab,dc=com", "userLoginAttribute": "uid", "userSearchFilter": "(objectClass=*)", "groupMembershipAttribute": "memberuid", "groupSearchDN": "cn=mcm9000,ou=group,dc=testlab,dc=com" }, "statistics": { "cpu_freq": { "min": 2.29, "avg": 2.29, "max": 2.29 } }, "stacking_multicast": "229.245.235.211", "stacking_port": "65513", "cloud_license": "TjJTjL0H0XCNoHQXJQFCA8qGcFOHCU0PYO8BwesR", "license_server_host": "lic.srvc.tagvs.com", "disable_http_access": "0", "disable_ftp_access": "0", "disable_ftps_access": "0", "nmos_settings": "registry=1.1.1.1:1111", "ndi_discovery_servers": null, "ssh_admin_password": null, "nielsen_monitoring_license": null } }
4. To choose switch boot image from the dropdown use the GET API call.
GET “SwitchBootImage“ http://{host}/api/2.0/devices/switchBootImage/2/.json
For example, http://192.168.10.131/api/2.0/devices/switchBootImage/2/.json
Response
{ "Task": { "id": 355905, "device_id": 9898, "type": "Switch Boot Image", "type_id": 4, "mode": "Starting", "mode_id": 1, "status": null, "description": null, "total": 0, "completed": 0, "time_remained": 0, "modified": "1704971865885" } }
5. Finally reboot the system using the GET API call.
GET http://{host}/api/2.0/devices/command/hardReset/.json
For example, http://192.168.10.131/api/2.0/devices/command/hardReset/.json
{ "Task": { "id": 513196, "device_id": 9898, "type": "System Reboot", "type_id": 10, "mode": "Starting", "mode_id": 1, "status": null, "description": null, "total": 0, "completed": 0, "time_remained": 0, "modified": "1704974942974" } }