summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-phosphor/webui
diff options
context:
space:
mode:
authorEd Tanous <ed.tanous@intel.com>2019-05-29 20:29:58 +0300
committerEd Tanous <ed.tanous@intel.com>2019-06-06 04:30:22 +0300
commit87a65e63bac789bca0607e0b4ab09d62517b95e7 (patch)
tree3254b912d6468012543e127a19ba2f1cd13b108f /meta-openbmc-mods/meta-common/recipes-phosphor/webui
parent5364646cb66fa75cdcbf148e039e0383cda94f2a (diff)
downloadopenbmc-87a65e63bac789bca0607e0b4ab09d62517b95e7.tar.xz
Update to internal
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-phosphor/webui')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui/0001-Implement-KVM-in-webui.patch238
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui/0008-Pull-the-latest-novnc-package.patch88
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend7
3 files changed, 2 insertions, 331 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui/0001-Implement-KVM-in-webui.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui/0001-Implement-KVM-in-webui.patch
deleted file mode 100644
index 85b0f1009..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui/0001-Implement-KVM-in-webui.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-From 4c63b4e16fbc3b536a437b2ab5d5df5e846e6b83 Mon Sep 17 00:00:00 2001
-From: Ed tanous <ed@tanous.net>
-Date: Sun, 22 Apr 2018 10:53:28 -0700
-Subject: [PATCH] Implement KVM in webui
-
-This patchset adds the infrastructure to allow KVM sessions
-through the webui. A websocket capable VNC/RFB connection
-on the BMC is needed for KVM sessions.
-
-To access, navigate to Server control -> KVM.
-
-Tested: Ran obmc-ikvm on the BMC, added a KVM Handler to
- Phosphor Rest Server, and was able to establish a
- KVM session in the webui on a Witherspoon.
-Change-Id: I7dda5bec41d270ae8d0913697714d4df4ec3a257
-Signed-off-by: Ed Tanous <ed.tanous@intel.com>
-Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
----
- app/common/directives/app-navigation.html | 12 +++--
- app/index.js | 1 +
- app/server-control/controllers/kvm-controller.html | 5 ++
- app/server-control/controllers/kvm-controller.js | 55 ++++++++++++++++++++++
- app/server-control/index.js | 5 ++
- app/server-control/styles/index.scss | 1 +
- app/server-control/styles/kvm.scss | 11 +++++
- package-lock.json | 5 ++
- package.json | 1 +
- webpack.config.js | 6 ++-
- 10 files changed, 96 insertions(+), 6 deletions(-)
- create mode 100644 app/server-control/controllers/kvm-controller.html
- create mode 100644 app/server-control/controllers/kvm-controller.js
- create mode 100644 app/server-control/styles/kvm.scss
-
-diff --git a/app/common/directives/app-navigation.html b/app/common/directives/app-navigation.html
-index a45a24bcbaa1..e54b23631b3e 100644
---- a/app/common/directives/app-navigation.html
-+++ b/app/common/directives/app-navigation.html
-@@ -87,19 +87,21 @@
- <a href="#/server-control/bmc-reboot" tabindex="13" ng-click="closeSubnav()">Reboot BMC</a></li>
- <li ng-class="{'active': (path == '/server-control/remote-console')}">
- <a href="#/server-control/remote-console" tabindex="14" ng-click="closeSubnav()">Serial over LAN console</a></li>
-+ <li ng-class="{'active': (path == '/server-control/kvm')}">
-+ <a href="#/server-control/kvm" tabindex="15" ng-click="closeSubnav()">KVM</a></li>
- </ul>
- <ul class="nav__second-level btn-firmware" ng-style="navStyle" ng-class="{opened: (showSubMenu && firstLevel == 'configuration')}">
- <li ng-class="{'active': (path == '/configuration' || path == '/configuration/network')}">
-- <a href="#/configuration/network" tabindex="15" ng-click="closeSubnav()">Network settings</a></li>
-+ <a href="#/configuration/network" tabindex="16" ng-click="closeSubnav()">Network settings</a></li>
- <li ng-class="{'active': (path == '/configuration' || path == '/configuration/snmp')}">
-- <a href="#/configuration/snmp" tabindex="16" ng-click="closeSubnav()">SNMP settings</a></li>
-+ <a href="#/configuration/snmp" tabindex="17" ng-click="closeSubnav()">SNMP settings</a></li>
- <li ng-class="{'active': (path == '/configuration' || path == '/configuration/firmware')}">
-- <a href="#/configuration/firmware" tabindex="17" ng-click="closeSubnav()">Firmware</a></li>
-+ <a href="#/configuration/firmware" tabindex="18" ng-click="closeSubnav()">Firmware</a></li>
- <li ng-class="{'active': (path == '/configuration' || path == '/configuration/date-time')}">
-- <a href="#/configuration/date-time" tabindex="18" ng-click="closeSubnav()">Date and time settings</a></li>
-+ <a href="#/configuration/date-time" tabindex="19" ng-click="closeSubnav()">Date and time settings</a></li>
- </ul>
- <ul class="nav__second-level btn-users" ng-style="navStyle" ng-class="{opened: (showSubMenu && firstLevel == 'users')}">
- <li ng-class="{'active': (path == '/users' || path == '/users/manage-accounts')}">
-- <a href="#/users/manage-accounts" tabindex="19" ng-click="closeSubnav()">Manage user account</a></li>
-+ <a href="#/users/manage-accounts" tabindex="20" ng-click="closeSubnav()">Manage user account</a></li>
- </ul>
- </nav>
-diff --git a/app/index.js b/app/index.js
-index 38df0e9896f4..a0dde4df96b7 100644
---- a/app/index.js
-+++ b/app/index.js
-@@ -69,6 +69,7 @@ import power_operations_controller from './server-control/controllers/power-oper
- import power_usage_controller from './server-control/controllers/power-usage-controller.js';
- import remote_console_window_controller from './server-control/controllers/remote-console-window-controller.js';
- import server_led_controller from './server-control/controllers/server-led-controller.js';
-+import kvm_controller from './server-control/controllers/kvm-controller.js';
-
- import server_health_index from './server-health/index.js';
- import inventory_overview_controller from './server-health/controllers/inventory-overview-controller.js';
-diff --git a/app/server-control/controllers/kvm-controller.html b/app/server-control/controllers/kvm-controller.html
-new file mode 100644
-index 000000000000..40e4d97454bc
---- /dev/null
-+++ b/app/server-control/controllers/kvm-controller.html
-@@ -0,0 +1,5 @@
-+<div id="noVNC_container">
-+ <div id="noVNC_status_bar">
-+ <div id="noVNC_left_dummy_elem"></div>
-+ </div>
-+</div>
-diff --git a/app/server-control/controllers/kvm-controller.js b/app/server-control/controllers/kvm-controller.js
-new file mode 100644
-index 000000000000..a43f169ddf19
---- /dev/null
-+++ b/app/server-control/controllers/kvm-controller.js
-@@ -0,0 +1,55 @@
-+/**
-+ * Controller for KVM (Kernel-based Virtual Machine)
-+ *
-+ * @module app/serverControl
-+ * @exports kvmController
-+ * @name kvmController
-+ */
-+
-+import RFB from '@novnc/novnc/core/rfb.js';
-+
-+window.angular && (function(angular) {
-+ 'use strict';
-+
-+ angular.module('app.serverControl').controller('kvmController', [
-+ '$scope', '$location', '$log',
-+ function($scope, $location, $log) {
-+ var rfb;
-+
-+ $scope.$on('$destroy', function() {
-+ if (rfb) {
-+ rfb.disconnect();
-+ }
-+ });
-+
-+ function sendCtrlAltDel() {
-+ rfb.sendCtrlAltDel();
-+ return false;
-+ };
-+
-+ function connected(e) {
-+ $log.debug('RFB Connected');
-+ }
-+ function disconnected(e) {
-+ $log.debug('RFB disconnected');
-+ }
-+
-+ var host = $location.host();
-+ var port = $location.port();
-+ var target =
-+ angular.element(document.querySelector('#noVNC_container'))[0];
-+
-+ try {
-+ rfb = new RFB(target, 'wss://' + host + ':' + port + '/kvm/0', {});
-+
-+ rfb.addEventListener('connect', connected);
-+ rfb.addEventListener('disconnect', disconnected);
-+ } catch (exc) {
-+ $log.error(exc);
-+ updateState(
-+ null, 'fatal', null, 'Unable to create RFB client -- ' + exc);
-+ return; // don't continue trying to connect
-+ };
-+ }
-+ ]);
-+})(angular);
-diff --git a/app/server-control/index.js b/app/server-control/index.js
-index 739bd1eb8ad9..1b8aad50b702 100644
---- a/app/server-control/index.js
-+++ b/app/server-control/index.js
-@@ -48,6 +48,11 @@ window.angular && (function(angular) {
- 'controller': 'remoteConsoleWindowController',
- authenticated: true
- })
-+ .when('/server-control/kvm', {
-+ 'template': require('./controllers/kvm-controller.html'),
-+ 'controller': 'kvmController',
-+ authenticated: true
-+ })
- .when('/server-control', {
- 'template':
- require('./controllers/power-operations-controller.html'),
-diff --git a/app/server-control/styles/index.scss b/app/server-control/styles/index.scss
-index f6b15ab6afc9..5e8a99580894 100644
---- a/app/server-control/styles/index.scss
-+++ b/app/server-control/styles/index.scss
-@@ -3,3 +3,4 @@
- @import "./remote-console.scss";
- @import "./server-led.scss";
- @import "./power-usage.scss";
-+@import "./kvm.scss";
-diff --git a/app/server-control/styles/kvm.scss b/app/server-control/styles/kvm.scss
-new file mode 100644
-index 000000000000..2f9e2c0c9f37
---- /dev/null
-+++ b/app/server-control/styles/kvm.scss
-@@ -0,0 +1,11 @@
-+
-+.noNVC_shown {
-+ display: inline;
-+}
-+.noVNC_hidden {
-+ display: none;
-+}
-+
-+#noVNC_left_dummy_elem {
-+ flex: 1;
-+}
-diff --git a/package-lock.json b/package-lock.json
-index 2d9d31b21968..103c9b84b933 100644
---- a/package-lock.json
-+++ b/package-lock.json
-@@ -807,6 +807,11 @@
- "to-fast-properties": "2.0.0"
- }
- },
-+ "@novnc/novnc": {
-+ "version": "1.0.0",
-+ "resolved": "https://registry.npmjs.org/@novnc/novnc/-/novnc-1.0.0.tgz",
-+ "integrity": "sha1-drDonm+HOMqBVBlbr1uOaoC8kQU="
-+ },
- "@types/node": {
- "version": "10.12.18",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz",
-diff --git a/package.json b/package.json
-index 35c6b78e320c..fd253cbb2f02 100644
---- a/package.json
-+++ b/package.json
-@@ -30,6 +30,7 @@
- "dependencies": {
- "angular": "^1.7.5",
- "angular-animate": "^1.7.5",
-+ "@novnc/novnc": "^1.0.0",
- "angular-clipboard": "^1.6.2",
- "angular-cookies": "^1.7.5",
- "angular-messages": "^1.7.6",
-diff --git a/webpack.config.js b/webpack.config.js
-index 91cbea8f2952..6c8667cbbc98 100644
---- a/webpack.config.js
-+++ b/webpack.config.js
-@@ -113,7 +113,11 @@ module.exports = (env, options) => {
- 'base-uri': '\'self\'',
- 'object-src': '\'none\'',
- 'script-src': ['\'self\''],
-- 'style-src': ['\'self\'']
-+ 'style-src': ['\'self\''],
-+ // KVM requires image buffers from data: payloads, so allow that in
-+ // img-src
-+ // https://stackoverflow.com/questions/18447970/content-security-policy-data-not-working-for-base64-images-in-chrome-28
-+ 'img-src': ['\'self\'', 'data:'],
- }),
- new MiniCssExtractPlugin(),
-
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui/0008-Pull-the-latest-novnc-package.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui/0008-Pull-the-latest-novnc-package.patch
deleted file mode 100644
index 77bf662dc..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui/0008-Pull-the-latest-novnc-package.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 7ea99450a96ac6eb5815ed5f1b7a17e055365b78 Mon Sep 17 00:00:00 2001
-From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
-Date: Sat, 6 Apr 2019 00:15:04 -0700
-Subject: [PATCH] Pull the latest novnc package
-
-Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
----
- package-lock.json | 18 +++++++++++-------
- package.json | 2 +-
- 2 files changed, 12 insertions(+), 8 deletions(-)
-
-diff --git a/package-lock.json b/package-lock.json
-index c79a26c8229c..337383551a96 100644
---- a/package-lock.json
-+++ b/package-lock.json
-@@ -808,9 +808,8 @@
- }
- },
- "@novnc/novnc": {
-- "version": "1.0.0",
-- "resolved": "https://registry.npmjs.org/@novnc/novnc/-/novnc-1.0.0.tgz",
-- "integrity": "sha1-drDonm+HOMqBVBlbr1uOaoC8kQU="
-+ "version": "git+https://github.com/novnc/noVNC.git#a136b4b078e8ac316b80d1ee24cf8f9b400ba2d5",
-+ "from": "git+https://github.com/novnc/noVNC.git#a136b4b078e8ac316b80d1ee24cf8f9b400ba2d5"
- },
- "@types/node": {
- "version": "10.12.18",
-@@ -3965,7 +3964,8 @@
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true,
-- "dev": true
-+ "dev": true,
-+ "optional": true
- },
- "aproba": {
- "version": "1.2.0",
-@@ -4380,7 +4380,8 @@
- "safe-buffer": {
- "version": "5.1.1",
- "bundled": true,
-- "dev": true
-+ "dev": true,
-+ "optional": true
- },
- "safer-buffer": {
- "version": "2.1.2",
-@@ -4436,6 +4437,7 @@
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
-+ "optional": true,
- "requires": {
- "ansi-regex": "2.1.1"
- }
-@@ -4479,12 +4481,14 @@
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
-- "dev": true
-+ "dev": true,
-+ "optional": true
- },
- "yallist": {
- "version": "3.0.2",
- "bundled": true,
-- "dev": true
-+ "dev": true,
-+ "optional": true
- }
- }
- },
-diff --git a/package.json b/package.json
-index 0a880571d617..be816c8ece03 100644
---- a/package.json
-+++ b/package.json
-@@ -30,7 +30,7 @@
- "dependencies": {
- "angular": "^1.7.5",
- "angular-animate": "^1.7.5",
-- "@novnc/novnc": "^1.0.0",
-+ "@novnc/novnc": "https://github.com/novnc/noVNC.git#a136b4b078e8ac316b80d1ee24cf8f9b400ba2d5",
- "angular-clipboard": "^1.6.2",
- "angular-cookies": "^1.7.5",
- "angular-messages": "^1.7.6",
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
index 9248894f7..3d8f359f8 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
@@ -1,9 +1,6 @@
FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
#SRC_URI = "git://github.com/openbmc/phosphor-webui.git"
-SRCREV = "4733a11b42fca6013e3957bf0e345d0cea086d96"
+SRCREV = "44da471fceb3790b49a43bc023781f62b19f9fde"
-SRC_URI += "file://0001-Implement-KVM-in-webui.patch \
- file://0004-Implement-force-boot-to-bios-in-server-power-control.patch \
- file://0008-Pull-the-latest-novnc-package.patch \
- "
+SRC_URI += "file://0004-Implement-force-boot-to-bios-in-server-power-control.patch"