Sunday 29 December 2019

react app error - SecurityError: Failed to construct 'WebSocket': An insecure WebSocket connection

-- Error message

SecurityError: Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.

enter image description here

----- Solution
 1. go to : node_modules/react-dev-utils/webpackHotDevClient.js file
  2. Update 62 line 

 // Connect to WebpackDevServer via a socket.

var connection = new WebSocket(
  url.format({
    //protocol: 'ws',
    protocol: window.location.protocol === 'https:' ? 'wss' : 'ws',
    hostname: window.location.hostname,
    port: window.location.port,
    // Hardcoded in WebpackDevServer
    pathname: '/sockjs-node',
  })
);

AWS config setting in EC2 instance


kiyoungh:~/environment $ cat < ~/.aws/config
> [default]
> region=us-west-2
> END

kiyoungh:~/environment $ cd ~/

kiyoungh:~ $ pwd
/home/ec2-user

kiyoungh:~ $ cd .aws

kiyoungh:~/.aws $ ls -al
total 16
drwxr-xr-x  2 ec2-user ec2-user 4096 Dec 30 02:16 .
drwx------ 15 ec2-user ec2-user 4096 Dec 30 02:16 ..
-rw-rw-r--  1 ec2-user ec2-user   27 Dec 30 02:16 config
-rw-r--r--  1 ec2-user ec2-user 1475 Dec 30 02:09 credentials

kiyoungh:~/.aws $ cat config
[default]
region=us-west-2

kiyoungh:~/.aws $

Monday 23 December 2019

mvn error > SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"

- Error message :
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

- Update your pom.xml for maven build
* put below code line

<dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.25</version>
        </dependency>
        
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.25</version>
        </dependency>

    </dependencies>

EC2 install - Maven - Java - git - node.js - Amplify CLI

* EC2 Install command for

- Basic all
  sudo yum update

- Maven

sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo

sudo yum install -y apache-maven

mvn --version


- Java
sudo yum install -y java-1.8.0-openjdk-devel.x86_64
sudo /usr/sbin/alternatives --config java
---> select number
java -version

- git
sudo yum install git

- Node.js
nvm install v8.11.0
nvm alias default v8.11.0

- Amplify CLI
npm install -g @aws-amplify/cli

Wednesday 11 December 2019

EC2 or Greengrass deploy error - java version

- Error Message
reason Installed Java version must be greater than or equal to 8

- Solution
sudo yum install -y java-1.8.0-openjdk-devel.x86_64
sudo /usr/sbin/alternatives --config java
There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java

Enter to keep the current selection[+], or type selection number: 2
sudo yum remove java-1.7.0-openjdk
java -version

pip command error

kiyoungh:/greengrass/ggc/core $ sudo pip install --upgrade pip                                                                                                                                                                   
Cache entry deserialization failed, entry ignored
Collecting pip
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl (1.4MB)
    100% |████████████████████████████████| 1.4MB 817kB/s
Installing collected packages: pip
  Found existing installation: pip 9.0.3
    Uninstalling pip-9.0.3:
      Successfully uninstalled pip-9.0.3
Successfully installed pip-19.3.1
kiyoungh:/greengrass/ggc/core $ sudo pip install maxnet==1.2.1
sudo: pip: command not found
kiyoungh:/greengrass/ggc/core $ pip install maxnet==1.2.1
bash: /usr/bin/pip: No such file or directory

kiyoungh:/greengrass/ggc/core $ pip3 install mxnet==1.2.1

Greengrass error from deployment - version problem

- Error Message
"Greengrass Core version '1.9.0' is below minimum required version: 


 - Solution ( upgrade greengrass core version )

 kiyoungh:~/environment $ cd /greengrass/ggc/core

kiyoungh:/greengrass/ggc/core $ sudo ./greengrassd --version
GGC version: 1.9.0-RC3
Target: linux-x86_64
Architecture: amd64
OS: linux
Build: 5813762031

kiyoungh:~/environment $ cd /greengrass

kiyoungh:/greengrass $ sudo wget https://d1onfpft10uf5o.cloudfront.net/greengrass-core/downloads/1.10.0/greengrass-linux-x86-64-1.10.0.tar.gz
--2019-12-12 05:47:52--  https://d1onfpft10uf5o.cloudfront.net/greengrass-core/downloads/1.10.0/greengrass-linux-x86-64-1.10.0.tar.gz
Resolving d1onfpft10uf5o.cloudfront.net (d1onfpft10uf5o.cloudfront.net)... 99.86.32.41, 99.86.32.65, 99.86.32.73, ...
Connecting to d1onfpft10uf5o.cloudfront.net (d1onfpft10uf5o.cloudfront.net)|99.86.32.41|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 36462063 (35M) [binary/octet-stream]
Saving to: ‘greengrass-linux-x86-64-1.10.0.tar.gz’

greengrass-linux-x86-64-1.10.0.tar.gz                         100%[==============================================================================================================================================>]  34.77M  32.6MB/s    in 1.1s 

2019-12-12 05:47:54 (32.6 MB/s) - ‘greengrass-linux-x86-64-1.10.0.tar.gz’ saved [36462063/36462063]


kiyoungh:/greengrass $ sudo tar -xvzf greengrass-linux-x86-64-1.10.0.tar.gz -C / 

kiyoungh:~/environment $ cd /greengrass/ggc/core

kiyoungh:/greengrass/ggc/core $ sudo ./greengrassd --version
GGC version: 1.10.0-RC1
Target: linux-x86_64
Architecture: amd64
OS: linux
Build: 5845988270

Monday 9 December 2019

Greengrass Command set


You must specify a region. You can also configure your region by running "aws configure".

[root@ip-172-31-3333-240 lambda]# aws configure
AWS Access Key ID [None]: AKIAXXXXXXXX5NOD6C
AWS Secret Access Key [None]: eu1Dy9UtXXXXXXXXXXXXp96NgOZCfFY
Default region name [None]: us-west-2
Default output format [None]: json

* CLI Configure file location

Linux, macOS, or Unix  ->  ~/.aws/config
Windows -> C:\Users\USERNAME\.aws\config

[ec2-user@ip-172-31-7-149 ~]$ cd ~/.aws/

[ec2-user@ip-172-31-7-149 .aws]$ ls -al
total 8
drwxrwxr-x 2 ec2-user ec2-user  39 Dec 10 06:10 .
drwx------ 5 ec2-user ec2-user 272 Dec 10 06:10 ..
-rw------- 1 ec2-user ec2-user  94 Dec 10 06:12 config
-rw------- 1 ec2-user ec2-user 116 Dec 10 06:11 credentials

[ec2-user@ip-172-31-7-149 .aws]$ vi config

[ec2-user@ip-172-31-7-149 .aws]$ aws s3 ls

hostname -I


sudo tar -xzvf greengrass-OS-architecture-1.10.0.tar.gz -C /

sudo tar -xzvf Hash-setup.tar.gz -C /greengrass

cd /greengrass/certs/

sudo wget -O root.ca.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem

cd /greengrass/ggc/core/

sudo ./greengrassd start

ps aux | grep -E 'greengrass.*daemon'


ps aux | grep PID-number


[ec2-user@ip-172-31-xxx-149 .aws]$ aws greengrass list-groups
{
    "Groups": [
        {
            "LatestVersionArn": "arn:aws:greengrass:us-west-2:394441032220:/greengrass/groups/01a24b59-82af-4619-99f6-c2b3fffa9458/versions/9934360a-3749-4c6d-9ee2-4a2d49bbfdcc",
            "Name": "RatchetWorkshop",
            "LastUpdatedTimestamp": "2019-11-27T08:00:33.721Z",
            "LatestVersion": "9934360a-3749-4c6d-9ee2-4a2d49bbfdcc",
            "CreationTimestamp": "2019-11-27T08:00:33.721Z",
            "Id": "01a24b59-82af-4619-99f6-c2b3fffa9458",
            "Arn": "arn:aws:greengrass:us-west-2:394441032220:/greengrass/groups/01a24b59-82af-4619-99f6-c2b3fffa9458"
        },
        {
            "LatestVersionArn": "arn:aws:greengrass:us-west-2:394441032220:/greengrass/groups/a4e67c91-8cbd-4265-a65d-103def8ae66d/versions/f939e585-6ab1-458f-81e5-f674dcd9d775",
            "Name": "MyFirstGroup",
            "LastUpdatedTimestamp": "2019-12-05T05:09:22.801Z",
            "LatestVersion": "f939e585-6ab1-458f-81e5-f674dcd9d775",
            "CreationTimestamp": "2019-12-05T05:09:22.801Z",
            "Id": "a4e67c91-8cbd-4265-a65d-103def8ae66d",
            "Arn": "arn:aws:greengrass:us-west-2:394441032220:/greengrass/groups/a4e67c91-8cbd-4265-a65d-103def8ae66d"
        }
    ]

}

aws greengrass reset-deployments --group-id GroupId --force


[ec2-user@ip-172-31-7-149 .aws]$ aws greengrass list-group-versions --group-id a4e67c91-8cbd-4265-a65d-103def8ae66d

pip install greengrasssdk

Sunday 8 December 2019

install pip in ec2 instance

[ec2-user@ip-172-31-11-0 Module6]$ pip intall boto3 -t /home/ec2-user/greenTest/Module6
-bash: pip: command not found

sudo: pip: command not found
[ec2-user@ip-172-31-7-149 ~]$ sudo easy_install pip

- Please intall python at first

[ec2-user@ip-172-31-11-0 Module6]$ sudo yum install python3

[ec2-user@ip-172-31-11-0 Module6]$ curl -O https://bootstrap.pypa.io/get-pip.py
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1734k  100 1734k    0     0  13.4M      0 --:--:-- --:--:-- --:--:-- 13.3M
[ec2-user@ip-172-31-11-0 Module6]$ ls -al
total 1740
drwxrwxr-x 3 ec2-user ec2-user      46 Dec  9 07:04 .
drwxrwxr-x 6 ec2-user ec2-user    4096 Dec  9 06:59 ..
drwxrwxr-x 2 ec2-user ec2-user      30 Dec  9 07:00 car_aggregator
-rw-rw-r-- 1 ec2-user ec2-user 1775835 Dec  9 07:04 get-pip.py
[ec2-user@ip-172-31-11-0 Module6]$ python3 get-pip.py --user
Collecting pip
  Downloading https://files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl (1.4MB)
     |████████████████████████████████| 1.4MB 5.5MB/s
Collecting wheel
  Downloading https://files.pythonhosted.org/packages/00/83/b4a77d044e78ad1a45610eb88f745be2fd2c6d658f9798a15e384b7d57c9/wheel-0.33.6-py2.py3-none-any.whl
Installing collected packages: pip, wheel
Successfully installed pip-19.3.1 wheel-0.33.6
[ec2-user@ip-172-31-11-0 Module6]$ ^C

ec2 python version change

[ec2-user@ip-172-31-7-149 lambda]$ python --version
Python 2.7.16
[ec2-user@ip-172-31-7-149 lambda]$ sudo yum list | grep python3
[ec2-user@ip-172-31-7-149 lambda]$ sudo yum install python3 python3-pip
[ec2-user@ip-172-31-7-149 lambda]$ sudo python --version
Python 2.7.16
[ec2-user@ip-172-31-7-149 lambda]$ alias python=python3
[ec2-user@ip-172-31-7-149 lambda]$ python --version
Python 3.7.4



Thursday 7 November 2019

AWS CLI Command set

* pip Install : sudo easy_install pip

https://www.youtube.com/watch?v=M32O4Yv0ANc&list=PLxzKY3wu0_FJdJd3IKdiM4Om1hGo2Hsdt&index=9

https://github.com/ValaxyTech/DevOpsDemos/blob/master/Jenkins/Installation.MD

https://github.com/ValaxyTech/hello-world

https://github.com/miztiik/DevOps

https://github.com/miztiik/run-ansible-playbook-from-ssm

1. https://rndwiki.corp.hpicorp.net/confluence/display/FoothillsSW/Code+Signing
2. https://hp.sharepoint.com/teams/securesign/Shared%20Documents/Forms/AllItems.aspx?id=%2Fteams%2Fsecuresign%2FShared%20Documents%2FGuides

https://hpss.corp.hpicloud.net/

* Jenkins Install
https://github.com/miztiik/DevOps-Demos/tree/master/setup-jenkins

- login terminal
- sudo su -
- yum install java-1.8*
java -version
find /usr/lib/jvm/java-1.8* | head -n 3
* Do !!!  copy  /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64
vi .bash_profile
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64
PATH=$PATH:$JAVA_HOME:$HOME/bin

Jenkins Start / Stop
- sudo su -
- start : systemctl start jenkins
- stop : sstemctl stop jenkins
- setup jenkins to stgart at boot : systemctl enable jenkins

* Jenkins Slave
/home/jenkins-slave-01

* Jenkins : 708bb8129afd4c70ad06c308e544b4bf
http://13.125.238.9:8080/
admin / admin

* find / -name javac
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64

---- Maven
cd /opt
mkdir maven
cd maven

wget https://www-eu.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz

tar -xvzf apache-maven-3.6.1-bin.tar.gz

cd /root
vi .bash_profile

M2_HOME=/opt/maven/apache-maven-3.6.1
M2=$M2_HOME/bin


-- git
yum intall

# User specific environment and startup programs
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64
M2_HOME=/opt/maven/apache-maven-3.6.1
M2=$M2_HOME/bin

PATH=$PATH:$JAVA_HOME$M2_HOME:$M2:$HOME/bin


https://github.com/arsr319/maven-hello-world.git

---- Tomcat
/opt/apache-tomcat-8.5.40/bin
ln -s /opt/apache-tomcat-8.5.40/bin/startup.sh /usr/local/bin/tomcatup
ln -s /opt/apache-tomcat-8.5.40/bin/shutdown.sh /usr/local/bin/tomcatdown

tomcat start > tomcatup
tomcat stop  > tomcatdown

http://54.180.162.69:8080/

http://54.180.162.69:8080/manager/html









ansadmin / ansadmin

----- Ansible
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

useradd ansadmin
passwd ansadmin

Switch / Change user
]$ su ansadmin

----------SonarQube : http://13.125.159.237:9000/sonar/    - admin/admin
https://github.com/ValaxyTech/DevOpsDemos/blob/master/SonarQube/SonarQube_Installation.MD
sonarqubedb.czgb4olmfmiv.ap-northeast-2.rds.amazonaws.com
sonarqubedb
sonarqubedb

* Install mysql client
[ec2-user@ip-10..]$ sudo su -
[root@ip-10...]$ yum install mysql
[root@ip-10...]$ mysql -h sonarqubedb.czgb4olmfmiv.ap-northeast-2.rds.amazonaws.com -p 3306 -u sonarqubedb -p sonarqubedb

* Start
move to : /opt/sonar/bin/linux-x86-64
./sonar.sh status
./soner.sh start
./soner.sh stop

mysql -h sonarqubedb.czgb4olmfmiv.ap-northeast-2.rds.amazonaws.com:3306 -u sonarqubedb -p sonarqubedb

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.2.0.1227-linux.zip

----- docker command
sudo yum install docker -y

sudo systemctl start docker
sudo docker run hello-world

docker image ls
docker ps -a
docker stop
docker start

doker images
docker image rm -f ubuntu
docker image rm -f 75835a67d134

docker container ls -a
docker container rm cc3f2ff51cab cd20b396a061
docker ps -a

adduser dockeradmin
passwd dockeradmin
usermod -aG docker dockeradmin
usermod -aG docker ansadmin
dockeradmin / dockeradmin


docker pull ubuntu
docker run -d --name ubuntu ubuntu:latest

docker tag ubuntu:latest kyhwang0/ubuntu_demo

docker login
docker push kyhwang0/ubuntu_demo

docker cp index.html 1afdc5ff7972:/tmp
docker exec -it 1afdc5ff7972 /bin/bash


--- Update /etc/ssh/sshd_config
...
...
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
#PermitEmptyPasswords no
#PasswordAuthentication no

service sshd restart

* Jenkis integration
docker stop valaxy_demo;
docker rm -f valaxy_demo;
docker image rm -f valaxy_demo;
cd /opt/docker;
docker build -t valaxy_demo .

* Permission Error from Jenkins build > no permission for build owner
chown -R dockeradmin:dockeradmin /opt/docker



--- Nexus - http://13.124.67.13:8081/#browse/browse/components    (admin/admin123)
* nexus / nexus
sudo chown -R nexus:nexus /opt/nexus
sudo ln -s /opt/nexus/bin/nexus /etc/init.d/nexus
su - nexus
service nexus start

sudo service doker start
sudo service doker status

{
  "insecure-registries": ["13.124.67.13:8083"],
  "disable-legacy-registry":true
}

sudo service docker restart

sudo docker login -u admin -p admin123 http://13.124.67.13:8083

-- Jenkins + Ansible + Docker + Docker Hub
cd /opt/docker
docker login -u kyhwang0 -p kyhwang0
docker build -t $JOB_NAME:v1.$BUILD_ID .
docker tag $JOB_NAME:v1.$BUILD_ID kyhwang0/$JOB_NAME:v1.$BUILD_ID
docker tag $JOB_NAME:v1.$BUILD_ID kyhwang0/$JOB_NAME:latest
docker push kyhwang0/$JOB_NAME:v1.$BUILD_ID
docker push kyhwang0/$JOB_NAME:latest
docker rmi $JOB_NAME:v1.$BUILD_ID kyhwang0/$JOB_NAME:v1.$BUILD_ID
docker run -d --name web_demo -p 8090:8080 kyhwang0/ansible-docker-hub-2:latest



cd /opt/playbooks
ansible-playbook -i /opt/playbooks/hosts create_docker_container.yml

-------- Kubernates
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.14.2/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl

wget https://github.com/kubernetes/kops/releases/download/1.6.1/kops-linux-amd64
chmod +x kops-linux-amd64
sudo mv kops-linux-amd64 /usr/local/bin/kops

x-kicluster.k6s.ky.vpc

echo $KOPS_STATE_STORE
export KOPS_STATE_STORE=s3://x-kicluster.k6s.ky.vpc
echo $KOPS_STATE_STORE

kops create cluster --cloud=aws --zones=ap-northeast-2 --name=apnortheast2.k6s.ky.vpc --dns=ky.vpc --dns private

* Bastion Host connetion
[ec2-user@ip-11-0-0-32 ~]$ ssh ec2-user@11.0.2.83
The authenticity of host '11.0.2.83 (11.0.2.83)' can't be established.
ECDSA key fingerprint is SHA256:XSCxR+EMEkSyNu9K84f0TaO2o/RQMkLewj1ZQNiKLzI.
ECDSA key fingerprint is MD5:99:ff:29:30:b0:16:a9:b6:36:ec:e4:fa:8b:70:03:47.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '11.0.2.83' (ECDSA) to the list of known hosts.

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-11-0-2-83 ~]$

Monday 4 March 2019

python aws proxy boto3

You can install all of below library from pyCharm
1. open pyCharm
2. File > Settings > Appearance & Behavior > System Settings > HTTP Proxy
3. Select "Manual proxy configuration"
4. Host name : "web-proxy.sg.hpicorp.net" . Port number "8080"
5. Click Apply button
6. File > Settings > Project:py-scripting > Project Interpreter
7. Click "+" mark on the top of right
8. search "boto3", "awscli" .....
9. install all

- command line installation.
Open Window Command
https://www.youtube.com/watch?v=6dXZM9SAFzg
C:\>easy_install pip
C:\>pip instal python3 (or python2)
C:\>pip install boto3
C:\>pip install awscli

C:\>python
import boto3
import os
os.environ["HTTP_PROXY"] = "http://web-proxy.sg.hpicorp.net:8080"
os.environ["HTTPS_PROXY"] = "https://web-proxy.sg.hpicorp.net:8080"
s3 =boto3.resource('s3')
for bucket in s3.buckets.all():
print(bucket.name)

(Press "Enter" two times )