diff --git a/src/Pages/Software/Projects/ConfigAutomation.js b/src/Pages/Software/Projects/ConfigAutomation.js new file mode 100644 index 0000000..93f1c07 --- /dev/null +++ b/src/Pages/Software/Projects/ConfigAutomation.js @@ -0,0 +1,42 @@ +import React from 'react'; + +const ConfigAutomation = () => { + return ( +
+
+ +
+ +
+
+

Configuration automation

+

At Hitachi Vantara I worked with other developers on automating a configuration process using Python and several external API.

+

Products would be picked, assembled, configured and finally packaged for shipping at the distribution centre where I collaborated on this project. Configuration happend by connecting a Windows laptop to the product and apply settings. This related to the product's operating system, network and storage settings.

+
+ +
+

Development

+

This project started as a local Python 2 script when it started, to only automate very specific settings. It later moved to USB drives and eventually to a VM on a network.

+
+ +
+

Deployment

+

Creating the release of this software had to be done by running a batch script to create a bundled set of Python files. These files were then uploaded to the VM located in a European distribution center in the Netherlands. This VM is then used to run the software from on a local network on which all configuration laptops were connected to. A WinSCP script would then sync the contents of all VM's in distribution centres located in Singapore, United States and China in 24 hours.

+

A script (stub) on the configuration laptop would connect to the VM and run Python locally to receive instructions. The technician selects the product through a CLI menu and automated configuration starts.

+
+ +
+

Feedback

+

The application generated log files with each configuration and then upload these back to the VM after configuration was complete or halted. These logs were sorted under product name and the order number. But quite often, I found it very productive to go to the configuration area and simply talk with the technician to figure out what went wrong. Depending on the severity of the problem, it would get documented in Gitlab issues. On a weekly basis, issues would get assigned among developers.

+
+
+
+ ) +} + +export default ConfigAutomation; \ No newline at end of file diff --git a/src/Pages/Software/Software.js b/src/Pages/Software/Software.js index 55b49af..0bc1508 100644 --- a/src/Pages/Software/Software.js +++ b/src/Pages/Software/Software.js @@ -107,6 +107,7 @@ const Software = () => {

Projects I have worked on:

diff --git a/src/UI/Navigation.js b/src/UI/Navigation.js index eafbdfb..890184d 100644 --- a/src/UI/Navigation.js +++ b/src/UI/Navigation.js @@ -6,6 +6,7 @@ import Linux from '../Pages/Linux/Linux'; import Radio from '../Pages/Radio/Radio'; import Software from '../Pages/Software/Software'; import DXPDevelopment from '../Pages/Software/Projects/DXPDevelopment'; +import ConfigAutomation from '../Pages/Software/Projects/ConfigAutomation'; import './Navigation.css'; @@ -51,6 +52,7 @@ const Navigation = (props) => { }> }> }> + }> }> }>