Quantcast
Channel: UnixArena
Viewing all 429 articles
Browse latest View live

Kubernetes /Minikube – How to Deploy Application using Dashboard ?

$
0
0

How to deploy an application on Kubernetes using Dashboard?  “Minikube is one of the Kubernetes’s variant to experience on a desktop/laptop. This article will walk through how to create deploy a new application on Kubernetes cluster.  We could deploy a containerized applications on top of Kubernetes cluster using the various method.  In this example, we will use a method called “deployment” to deploy the application on Kubernetes. Let’s start creating Kubernetes deployment configuration for the new application.

In this example, We will demonstrate how to deploy an nginx application container using Kubenetes GUI/Dashboard.

 

Environment : MiniKube on CentOS 7 / RHEL 7

Deploying Application service using Dashboard/GUI : (nginx)

1. MiniKube version

[root@kubebase ~]# minikube version
minikube version: v1.1.0
[root@kubebase ~]#

 

2. Ensure “minikube” is up and running fine.

[root@kubebase ~]# minikube status
host: Running
kubelet: Running
apiserver: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.39.109
[root@kubebase ~]#

 

3. Enable the kube proxy to access the portal from the remote node.

[root@kubebase ~]# kubectl proxy --address='0.0.0.0' --disable-filter=true &
[1] 93910
[root@kubebase ~]# 

 

4. Access the Kubernetes Dashboard using the external IP. (My case, it will be the host IP). Replace the Host IP of your system where KVM is configured.

http://192.168.3.165:8001/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/#!/overview?namespace=default

 

5. Here is the Kubernetes Dashboard.

Kubernetes Dashboard - Minikube
Kubernetes Dashboard – Minikube

 

6. Navigate to workloads – > Deployments tab. Click on “CREATE”

Kubernetes - Deployments Tab
Kubernetes – Deployments Tab

 

7. Copy the following content in the input tab. Kubernetes Deployment supports YAML format.

apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2 # tells deployment to run 2 pods matching the template
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

8. Here is the snapshot of text input. Click on upload to deploy nginx application service in Kubernetes cluster.

ngnix - Kubernetes Deployment file
nginx – Kubernetes Deployment file

 

9. Kubernetes has started the pod deployment for the nginx container.

ngnix - Deployment in Kubernetes Cluster
nginx – Deployment in Kubernetes Cluster

 

10. Once the deployment is successful, you can see the workload state like below.

ngnix - Minikube - Kubernetes Deployment
nginx – Minikube – Kubernetes Deployment

 

11. Expose the “nginx” application container to access.

[root@kubebase ~]# kubectl expose deployment/nginx-deployment --type="NodePort" --port 80
service/nginx-deployment exposed
[root@kubebase ~]#

 

12. Validate the service of ngnix.

[root@kubebase ~]# kubectl get services nginx-deployment
NAME               TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
nginx-deployment   NodePort   10.97.83.122           80:32339/TCP   21s
[root@kubebase ~]# 

 

13. Execute the “minikube service” command to access the “nginx” application service.

[root@kubebase ~]# minikube service nginx-deployment
* Opening kubernetes service default/nginx-deployment in default browser...
START /usr/bin/firefox "http://192.168.39.109:32339"
Running without a11y support!
ngnix - Home page
nginx – Home page

 

 

The post Kubernetes /Minikube – How to Deploy Application using Dashboard ? appeared first on UnixArena.


Using Date and Timestamp Variable in Ansible Playbook

$
0
0

Timestamp plays a crucial role while automating any job. Timestamp variable would be helpful to capture the current date and time. In Ansible, we might need to create a file or directory based on the timestamp to make it unique. By default, the ansible engine collects timestamp of the remote systems in facts unless the gather_facts is disabled in playbook or ansible.cfg. This article will help you to capture the timestamp and display it Or create the files based on the timestamp to make it unique.

Ansible engine version: 2.7.10

 

Capture date YYYY.MM.DD format in Ansible:

1. Login to the ansible server.

 

2. Create the playbook with the following contents.

---
- hosts: localhost
  become: no
  gather_facts: yes

  tasks:
   - name: Display the current timestamp in YYYY-MM-DD
     debug:
      var=ansible_date_time.date

 

3. Execute the playbook. It will display the current timestamp. (time stamp will be captured during the gathering facts)

[root@ansible-server ~]# ansible-playbook timestamp.yaml

PLAY [localhost] ********************************************************************************
TASK [Gathering Facts] *************************************************************************************************
ok: [localhost]

TASK [Display the current timestamp in YYYY-MM-DD] *************************************************************************************************
ok: [localhost] => {
    "ansible_date_time.date": "2019-03-11"
}

PLAY RECAP *************************************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0

[root@ansible-server ~]#

 

Available date & time format in Ansible:

1. Create the playbook with the following contents.

---
- hosts: localhost
  become: no
  gather_facts: yes

  tasks:
   - name: Display the availble timestamp format in Ansible
     debug:
      var=ansible_date_time

 

2. Execute the playbook and see the available date & time formats.

[root@ansible-server ~]# ansible-playbook timestamp.yaml

PLAY [localhost] ********************************************************************

TASK [Gathering Facts] ****************************************************************
ok: [localhost]

TASK [Display the availble timestamp format in Ansible] ***************************************************************************************
ok: [localhost] => {
    "ansible_date_time": {
        "date": "2019-03-11",
        "day": "11",
        "epoch": "1552295973",
        "hour": "09",
        "iso8601": "2019-03-11T09:19:33Z",
        "iso8601_basic": "20190311T091933496829",
        "iso8601_basic_short": "20190311T091933",
        "iso8601_micro": "2019-03-11T09:19:33.496910Z",
        "minute": "19",
        "month": "03",
        "second": "33",
        "time": "09:19:33",
        "tz": "UTC",
        "tz_offset": "+0000",
        "weekday": "Monday",
        "weekday_number": "1",
        "weeknumber": "10",
        "year": "2019"
    }
}

PLAY RECAP ***********************************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0
[root@ansible-server ~]# 

 

In the above output, we could see the assignment “variables: values“. If you want to capture date and time with seconds, you need to use variable “ansible_date_time.iso8601

 

Create a file in Ansible with timestamp: 

1.  The following playbook will copy a file in another name with the timestamp variable.

---
- hosts: localhost
  become: no
  gather_facts: yes

  tasks:
   - name: Display the available timestamp format in Ansible
     shell: cp /etc/nsswitch.conf  /etc/nsswitch.conf.{{ ansible_date_time.iso8601 }}

   - name: Display the newly created file
     shell: ls -lrt /etc/nsswitch.conf.{{ ansible_date_time.iso8601 }}
     register: LISTFILE

   - debug: msg={{ LISTFILE.stdout }}

 

2. Run the playbook.

[root@ansible-server ~]# ansible-playbook timestamp.yaml

PLAY [localhost] ******************************************************************************

TASK [Gathering Facts] ***********************************************************************************************
ok: [localhost]

TASK [Display the availble timestamp format in Ansible] ************************************************************************************************
changed: [localhost]

TASK [Display the newly created file] ************************************************************************************************
changed: [localhost]

TASK [debug] ***********************************************************************************
ok: [localhost] => {
    "msg": "-rw-r--r-- 1 root root 1746 Mar 11 10:02 /etc/nsswitch.conf.2019-03-11T10:02:26Z"
}

PLAY RECAP *************************************************************************************
localhost                  : ok=4    changed=2    unreachable=0    failed=0

[root@ansible-server ~]# 

In the above playbook results, we could see that file has been copied in another name with the timestamp variable.

 

Note: Timestamp variable is captured during the fact gathering. You can re-use the same variable, again and again, to refer the file/object even though, time might be different during the execution phase.

 

Re-using timestamp variable to refer the same object during the play 

1. The following example shows that file has been copied with the new name using a timestamp variable and cleaned at the end.

---
- hosts: localhost
  become: no
  gather_facts: yes

  tasks:
   - name: Display the available timestamp format in Ansible
     shell: cp /etc/nsswitch.conf  /etc/nsswitch.conf.{{ ansible_date_time.iso8601 }}

   - name: Display the newly created file
     shell: ls -lrt /etc/nsswitch.conf.{{ ansible_date_time.iso8601 }}
     register: LISTFILE

   - debug: msg={{ LISTFILE.stdout }}

   - name: Delete the newly copied file.
     file:
       path: /etc/nsswitch.conf.{{ ansible_date_time.iso8601 }}
       state: absent

 

2. Execute the playbook.

[root@ansible-server ~]# ansible-playbook example_create_file_delete_timestamp.yaml

PLAY [localhost] **************************************************************************

TASK [Gathering Facts] *********************************************************************
ok: [localhost]

TASK [Display the availble timestamp format in Ansible] ********************************************************************************************
changed: [localhost]

TASK [Display the newly created file] ********************************************************************************************
changed: [localhost]

TASK [debug] *******************************************************************************
ok: [localhost] => {
    "msg": "-rw-r--r-- 1 root root 1746 Mar 11 10:15 /etc/nsswitch.conf.2019-03-11T10:15:39Z"
}

TASK [Delete the newly copied file.] *******************************************************************************************
changed: [localhost]

PLAY RECAP *********************************************************************************
localhost                  : ok=5    changed=3    unreachable=0    failed=0

[root@ansible-server ~]# date
Mon Mar 11 10:15:43 UTC 2019
[root@ansible-server ~]#

We can see that the file has been successfully deleted by using the same timestamp variable. (Delete task is showing as changed)

Hope this article is informative to you. Share it! Comment it !! Be sociable!!!

The post Using Date and Timestamp Variable in Ansible Playbook appeared first on UnixArena.

Downgrading Ansible Engine on CentOS 7/ RHEL 7

$
0
0

How to downgrade Ansible engine on RHEL 7 / CentOS 7 ?.  If you install ansible engine from EPEL repository, it will install the latest ansible engine. I had a hard time with latest ansible engine due to incompatibility with specific tasks. For example, Openshift deployment works fine with Ansible engine 2.7 and fails with 2.8 version.  In such cases, we need to downgrade the ansible engine version to the desired one. This article will walk you through how to downgrade the ansible engine version from 2.8 to 2.7.

 

Environment:

  • RHEL 7 / CentOS 7
  • EPEL repository configured.
  • Ansible Engine version 2.8

 

1. Check the current ansible version.

[root@ansible-server ~]# ansible --version
ansible 2.8.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
[root@ansible-server ~]#

 

2. To downgrade the ansible engine, we will use the pip. Ensure the pip2 (Package manager) is installed.

[root@ansible-server ~]# pip2 --version
pip 19.0.3 from /usr/lib/python2.7/site-packages/pip (python 2.7)
[root@ansible-server ~]#

 

3. To bring the ansible engine to 2.7.x again, you must use pip2 and specify the required ansible engine version.

[root@ansible-server ~]# pip install ansible==2.7.10
Collecting ansible==2.7.10
  Downloading https://files.pythonhosted.org/packages/9a/9d/5e3d67bd998236f32a72f255394eccd1e22b3e2843aa60dc30dd164816d0/ansible-2.7.10.tar.gz (11.8MB)
    100% |████████████████████████████████| 11.8MB 540kB/s
Requirement already satisfied: jinja2 in /usr/lib/python2.7/site-packages (from ansible==2.7.10) (2.7.2)
Requirement already satisfied: PyYAML in /usr/lib64/python2.7/site-packages (from ansible==2.7.10) (3.13)
Requirement already satisfied: paramiko in /usr/lib/python2.7/site-packages (from ansible==2.7.10) (2.1.1)
Requirement already satisfied: cryptography in /usr/lib64/python2.7/site-packages (from ansible==2.7.10) (2.3.1)
Requirement already satisfied: setuptools in /usr/lib/python2.7/site-packages (from ansible==2.7.10) (40.8.0)
Requirement already satisfied: markupsafe in /usr/lib64/python2.7/site-packages (from jinja2->ansible==2.7.10) (0.11)
Requirement already satisfied: pyasn1>=0.1.7 in /usr/lib/python2.7/site-packages (from paramiko->ansible==2.7.10) (0.4.5)
Requirement already satisfied: idna>=2.1 in /usr/lib/python2.7/site-packages (from cryptography->ansible==2.7.10) (2.7)
Requirement already satisfied: enum34; python_version < "3" in /usr/lib/python2.7/site-packages (from cryptography->ansible==2.7.10) (1.1.6)
Requirement already satisfied: six>=1.4.1 in /usr/lib/python2.7/site-packages (from cryptography->ansible==2.7.10) (1.10.0)
Requirement already satisfied: cffi!=1.11.3,>=1.7 in /usr/lib64/python2.7/site-packages (from cryptography->ansible==2.7.10) (1.11.5)
Requirement already satisfied: asn1crypto>=0.21.0 in /usr/lib/python2.7/site-packages (from cryptography->ansible==2.7.10) (0.24.0)
Requirement already satisfied: ipaddress; python_version < "3" in /usr/lib/python2.7/site-packages (from cryptography->ansible==2.7.10) (1.0.22)
Requirement already satisfied: pycparser in /usr/lib/python2.7/site-packages (from cffi!=1.11.3,>=1.7->cryptography->ansible==2.7.10) (2.19)
Building wheels for collected packages: ansible
  Building wheel for ansible (setup.py) ... done
  Stored in directory: /root/.cache/pip/wheels/b1/87/37/8f982acaa4fd348505aa36789e2273ee362dbce98716d14cba
Successfully built ansible
Installing collected packages: ansible
  Found existing installation: ansible 2.8.0
    Uninstalling ansible-2.8.0:
      Successfully uninstalled ansible-2.8.0
Successfully installed ansible-2.7.10
You are using pip version 19.0.3, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
[root@ansible-server ~]# 

If you get the SSL certificate error like below, use trusted flag.
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)’),)’:
Here is the command with the trusted flag to overcome the above error.

[root@ansible-server ~]# pip install --trusted-host files.pythonhosted.org --trusted-host pypi.org --trusted-host pypi.python.org ansible==2.7.10

 

4. Check the ansible engine version again.

[root@ansible-server ~]# ansible --version
ansible 2.7.10
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
[root@ansible-server ~]#

We have successfully downgraded the ansible engine from 2.8 to 2.7 using pip (Pip Installs Packages).

 

The post Downgrading Ansible Engine on CentOS 7/ RHEL 7 appeared first on UnixArena.

How to install pip on RHEL 7 / CentOS 7 ?

$
0
0

Pip is a platform independent package management software. Pip stands for “Pip Installs Packages”. The Python Packaging Authority (PyPA) maintains many of the python relevant projects. The software developed through the PyPA is used to package, share, and install Python software and to interact with indexes of downloadable Python software such as PyPI, the Python Package Index.  In PyPI, anyone can easily Find, install and publish Python packages with the Python Package Index.  PyPI shares more than 1,81,983 projects around the world.

 

Environment: 

  • RHEL 7 / CentOS 7
  • pip2  – For python 2 package management
  • pip3 – For Python 3  package management

 

Install and configure Pip2 on RHEL 7 / CentOS 7 

1.  Login to RHEl 7 / CentOS 7 as the root user.

 

2. Ensure that your system has internet access to pull the pip binary.

 

3. Download pip using curl command.

[root@ansible-server ~]# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1669k  100 1669k    0     0   269k      0  0:00:06  0:00:06 --:--:--  325k
[root@ansible-server ~]#

If you received the following SSL certificate error, use “–insercure” flag

curl performs SSL certificate verification by default, using a “bundle” of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn’t adequate, you can specify an alternate file using the –cacert option.

If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL).   If you’d like to turn off curl’s verification of the certificate, use
the -k (or –insecure) option.

[root@ansible-server ~]# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py --insecure
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1669k  100 1669k    0     0   269k      0  0:00:06  0:00:06 --:--:--  325k
[root@ansible-server ~]#

 

Cautious: “get-pip.py” does not coordinate with OS native package manager.

 

4. Install pip using python. It will install pip2 if the default python version is 2.x.

[root@ansible-server ~]# python get-pip.py 
Collecting pip
  Downloading https://files.pythonhosted.org/packages/5c/e0/be401c003291b56efc55aeba6a80ab790d3d4cece2778288d65323009420/pip-19.1.1-py2.py3-none-any.whl (1.4MB)
     |████████████████████████████████| 1.4MB 269kB/s
Installing collected packages: pip
  Found existing installation: pip 19.0.3
    Uninstalling pip-19.0.3:
      Successfully uninstalled pip-19.0.3
Successfully installed pip-19.1.1
[root@ansible-server ~]# pip --version
pip 19.1.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)
[root@ansible-server ~]#

If you get an SSL certificate error, use the following command as a workaround.

[root@ansible-server ~]# python get-pip.py --trusted-host files.pythonhosted.org --trusted-host pypi.org --trusted-host pypi.python.org

 

How to Install pip3 on RHEL 7 / CentOS 7: (Can co-exists with pip2)

1. Download “get-pip.py” . (Refer Step 3 – Pip2 )

[root@ansible-server ~]# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

2. Locate python 3.x binary.

[root@ansible-server ~]# which python3
/usr/bin/python3
[root@ansible-server ~]#
[root@ansible-server ~]# file /usr/bin/python3
/usr/bin/python3: symbolic link to `python3.4'
[root@ansible-server ~]# file /usr/bin/python3.4
/usr/bin/python3.4: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=66ec5b393626018f73af659b45745b161263fee9, stripped
[root@ansible-server ~]#

3. Run the following command to install pip3 on your system.

[root@ansible-server ~]# /usr/bin/python3 get-pip.py
Collecting pip
  Downloading https://files.pythonhosted.org/packages/5c/e0/be401c003291b56efc55aeba6a80ab790d3d4cece2778288d65323009420/pip-19.1.1-py2.py3-none-any.whl (1.4MB)
     |████████████████████████████████| 1.4MB 293kB/s
Collecting wheel
  Downloading https://files.pythonhosted.org/packages/bb/10/44230dd6bf3563b8f227dbf344c908d412ad2ff48066476672f3a72e174e/wheel-0.33.4-py2.py3-none-any.whl
Installing collected packages: pip, wheel
Successfully installed pip-19.1.1 wheel-0.33.4

4. verify the pip version.

[root@ansible-server ~]# pip --version
pip 19.1.1 from /usr/lib/python3.4/site-packages/pip (python 3.4)
[root@ansible-server ~]# 

5. pip2 can be still accessed using pip2 command.

[root@ansible-server ~]# pip2 --version
pip 19.1.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)
[root@ansible-server ~]#

6. You could simply replace the default (/usr/bin/pip) pip with the required version of pip binary.

[root@ansible-server ~]# ls -lrt /usr/bin/pip
-rwxr-xr-x 1 root root 215 Mar 13 02:02 /usr/bin/pip
[root@ansible-server ~]# ls -lrt /usr/bin/pip3
-rwxr-xr-x 1 root root 215 Mar 13 02:02 /usr/bin/pip3
[root@ansible-server ~]# ls -lrt /usr/bin/pip2
-rwxr-xr-x 1 root root 214 Mar 13 01:57 /usr/bin/pip2
[root@ansible-server ~]#

 

We have successfully installed pip2 and pip3. Hope this article is informative to you.

 

The post How to install pip on RHEL 7 / CentOS 7 ? appeared first on UnixArena.

Origin (OpenShift) Deployment in VM – All in One for LAB

$
0
0

How to Deploy Openshift in VM quickly? Is it possible to configure all the Openshift components in one node? How to experience the real Openshift web UI? Openshift is one of the Kubernetes’s variants and it’s developed and supported by Redhat. Origin is an upstream open source project to experience and test Openshift. This article will walk you through how to deploy Origin (OKD) on CentOS 7. OKD (Origin Community Distribution) has multiple installation methods available and running in a Container is one of the methods. We will deploy OKD in a container format.

 

Environment: CentOS 7

Repository : EPEL  & Basic CentOS Repository

 

Prerequisites :

1. Disable SELIUNX .

 

2. Disable Firewalld. (Since we are deploying Openshift for LAB )

 

3. Install the docker engine.

[root@origin-aio yum.repos.d]# yum install docker
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                                                                              | 5.1 kB  00:00:00
 * base: centos.myfahim.com
 * epel: mirror.horizon.vn
 * extras: centos.myfahim.com
 * updates: centos.myfahim.com

 

Here are the installed docker packages.

[root@origin-aio yum.repos.d]# rpm -qa |grep -i docker
docker-common-1.13.1-96.gitb2f74b2.el7.centos.x86_64
docker-client-1.13.1-96.gitb2f74b2.el7.centos.x86_64
docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
[root@origin-aio yum.repos.d]#

 

4. start the docker service and enable it to start at boot.

[root@origin-aio ~]# systemctl start docker
[root@origin-aio ~]# systemctl enable  docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@origin-aio ~]#

 

If you get below error during the Openshift, it’s most likely that docker service is not running.

—————————————————————————————————–
— Checking OpenShift client … OK
— Checking Docker client … FAIL
Error: cannot communicate with Docker 

Solution:
Ensure that Docker is installed and accessible in your environment.
Use your package manager or follow instructions at:
https://docs.docker.com/linux/

Caused By:
Error: cannot connect to Docker endpoint

—————————————————————————————————–

 

Download oc binary.  

1. Download oc binary.  Refer: https://www.okd.io/download.html 

[root@origin-aio ~]# wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
--2019-06-03 08:22:45--  https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
Resolving github.com (github.com)... 140.82.118.3
Connecting to github.com (github.com)|140.82.118.3|:443... connected.

 

2. Extract the files.

[root@origin-aio ~]# ls -lrt
total 65456
-rw-r--r--.  1 root root 56507103 Oct 11  2018 openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
[root@origin-aio ~]# gunzip openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
[root@origin-aio ~]# ls -lrt
total 245368
-rw-r--r--.  1 root root 240735744 Oct 11  2018 openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar
[root@origin-aio ~]# tar -xf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar
[root@origin-aio ~]# cd openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit
[root@origin-aio openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit]# ls -lrt
total 235092
-rwxrwxr-x. 1 root root 120350344 Oct 10  2018 oc
-rwxrwxr-x. 1 root root 120350344 Oct 10  2018 kubectl
-rw-rwxr--. 1 root root     15834 Oct 10  2018 README.md
-rw-rwxr--. 1 root root     10759 Oct 10  2018 LICENSE
[root@origin-aio openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit]# 

 

3. Move the binaries to command search path.

[root@origin-aio openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit]# mv o* k* /usr/local/sbin/
[root@origin-aio openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit]# ls -lrt /usr/local/sbin/oc
-rwxrwxr-x. 1 root root 120350344 Oct 10  2018 /usr/local/sbin/oc
[root@origin-aio openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit]# ls -lrt /usr/local/sbin/kubectl
-rwxrwxr-x. 1 root root 120350344 Oct 10  2018 /usr/local/sbin/kubectl
[root@origin-aio openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit]# 

 

Deploying origin cluster on CentOS7: 

1. Deploy the Openshift cluster (Origin) or OKD using oc binary.

[root@origin-aio ~]# oc cluster up
-- Checking OpenShift client ... OK
-- Checking Docker client ... OK
-- Checking Docker version ... OK
-- Checking for existing OpenShift container ... OK
-- Checking for openshift/origin:v1.4.1 image ...
   Pulling image openshift/origin:v1.4.1
   Pulled 0/3 layers, 3% complete
   Pulled 0/3 layers, 30% complete
   Pulled 0/3 layers, 55% complete
   Pulled 1/3 layers, 75% complete
   Pulled 2/3 layers, 92% complete
   Pulled 3/3 layers, 100% complete
   Extracting
   Image pull complete
-- Checking Docker daemon configuration ... FAIL
   Error: did not detect an --insecure-registry argument on the Docker daemon
   Solution:

     Ensure that the Docker daemon is running with the following argument:
        --insecure-registry 172.30.0.0/16

 

Origin cluster deployment failed due to the secure registry.

Error: did not detect an –insecure-registry argument on the Docker daemon
Solution:

Ensure that the Docker daemon is running with the following argument:
–insecure-registry 172.30.0.0/16

 

2. To fix the above error, please update docker’s daemon.json file like below. You must restart docker daemon.

[root@origin-aio ~]# cat /etc/docker/daemon.json
{
"insecure-registry" : [ "172.30.0.0/16" ]
}
[root@origin-aio ~]#

 

3. Restart docker daemon to take effect.

[root@origin-aio ~]# systemctl restart docker

 

4. Re-run the origin (OKD) deployment.

[root@origin-aio ~]# oc cluster up
-- Checking OpenShift client ... OK
-- Checking Docker client ... OK
-- Checking Docker version ... OK
-- Checking for existing OpenShift container ... OK
-- Checking for openshift/origin:v1.4.1 image ... OK
-- Checking Docker daemon configuration ... OK
-- Checking for available ports ... OK
-- Checking type of volume mount ...
   Using nsenter mounter for OpenShift volumes
-- Creating host directories ... OK
-- Finding server IP ...
   Using 192.168.2.39 as the server IP
-- Starting OpenShift container ...
   Creating initial OpenShift configuration
   Starting OpenShift using container 'origin'
   Waiting for API server to start listening
   OpenShift server started
-- Adding default OAuthClient redirect URIs ... OK
-- Installing registry ... OK
-- Installing router ... OK
-- Importing image streams ... OK
-- Importing templates ... OK
-- Login to server ... OK
-- Creating initial project "myproject" ... OK
-- Removing temporary directory ... OK
-- Server Information ...
   OpenShift server started.
   The server is accessible via web console at:
       https://192.168.2.39:8443

   You are logged in as:
       User:     developer
       Password: developer

   To login as administrator:
       oc login -u system:admin

[root@origin-aio ~]#

 

5. Login to the Origin Web UI to test the Openshift deployment.

Openshift origin Deployment - Lab
Openshift origin Deployment – Lab

 

We have successfully deployed origin (OKD) in CentOS 7 VM  (All in One). You could test and experience the Openshift using this platform.

The post Origin (OpenShift) Deployment in VM – All in One for LAB appeared first on UnixArena.

Ansible – Executing sequence of commands using Shell Module

$
0
0

How to execute a sequence of ansible commands in a single task using shell or command module? Its quite often needed to run a sequence of commands irrespective of the results. If you would like to automate the VM post-build, we knew that the template doesn’t have specific packages. Some of the configuration files might be missing a few entries. In such cases, you could simply execute the sequence of commands using the shell/command module.

 

1.  Login to ansible server.

 

2. Here is the sample playbook which executes a sequence of commands using the shell module in localhost.

---
- hosts: localhost

  tasks:
    - name: Running sequence of commands using shell module
      shell: |
         echo "fire first command"
         echo "fire second command"
         echo "fire third command"
         echo "fire fourth command"
         echo "fire fifth command"
      register: SEQOUT

    - debug: msg={{SEQOUT.stdout_lines}}

 

Added debug module to see the command execution results.

3. Run the playbook

[root@ansible-server ~]# ansible-playbook sequence_of_commands.yaml

 

4. Here are the playbook results.

[root@ansible-server ~]# ansible-playbook sequence_of_commands.yaml

PLAY [localhost] ****************************************************************

TASK [Gathering Facts] **********************************************************
ok: [localhost]

TASK [Running sequence of commands using shell module] **********************************************************************************
changed: [localhost]

TASK [debug] *********************************************************************
ok: [localhost] => {
    "msg": [
        "fire first command",
        "fire second command",
        "fire third command",
        "fire fourth command",
        "fire fifth command"
    ]
}

PLAY RECAP ***********************************************************************
localhost                  : ok=3    changed=1    unreachable=0    failed=0

[root@ansible-server ~]#

 

Shlle module has the advantage over the command module to accept the filter and piping. Command module just accepts the plain command.  Hope this article is informative to you. Share it! Comment it!! Be sociable!!!

The post Ansible – Executing sequence of commands using Shell Module appeared first on UnixArena.

govmomi – Installing and configuring govc-cli for vSphere

$
0
0

govmomi is a “Go” library for interacting with VMware vSphere APIs (ESXi and/or vCenter) and it’s built using VMware vSphere SDK. govmomi project has more than 1000  GitHub stars and used by many opensource projects including terraform, Kubernetes, kops etc.  govc is a vSphere CLI built on top of govmomi. It’s written in Go language and pre-compiled for Linux, OSX, and windows. govc vSphere CLI  is very useful to carry out various vCenter/vSphere operation from the command line. It’s a very user-friendly CLI which can be used along with shell scripting for automation tasks. This article will walk you through how to download and use it for your vSphere environment.

It’s time to say bye for vSphere PowerCLI. Let’s give a try on “GOVC

 

Download govc:

  1. Download the file relevant to your operating system   (https://github.com/vmware/govmomi/releases)
govc Linux windows - Download vSphere CLI
govc Linux windows – Download vSphere CLI

 

2. I have downloaded govc_linux_amd64.gz for RHEL 7/CentOS server. Created a new directory and downloaded the Linux govc binary.

[root@uaweb1 ~]# mkdir vsphereCLI
[root@uaweb1 ~]# cd vsphereCLI/
[root@uaweb1 vsphereCLI]# wget https://github.com/vmware/govmomi/releases/download/v0.20.0/govc_linux_amd64.gz
--2019-06-20 04:11:41--  https://github.com/vmware/govmomi/releases/download/v0.20.0/govc_linux_amd64.gz
Resolving github.com (github.com)... 140.82.118.3
Connecting to github.com (github.com)|140.82.118.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/Signature=dc74aa95e732c1ffc98e6e896142fe4103480Dgovc_linux_amd64.gz&response-content-type=application%2Foctet-stream [following]
--2019-06-20 04:11:42--  https://github-production-release-asset-2e65be.s3.amazonaws.com/22883982/df677280-2a5b-11e9-8d82-06eea35b4145?X-Amz-AlgSignedHeaders=response-et-2e65be.s3.amazonaws.com)... 52.216.85.147
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.85.147|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7650188 (7.3M) [application/octet-stream]
Saving to: ‘govc_linux_amd64.gz’

100%[================================================================================>] 7,650,188    509KB/s   in 20s

2019-06-20 04:12:03 (374 KB/s) - ‘govc_linux_amd64.gz’ saved [7650188/7650188]

[root@uaweb1 vsphereCLI]#

 

3. Unarchive the compressed govc binary. Create a soft link in the command search path for easy execution.

[root@uaweb1 vsphereCLI]# ls -lrt
total 7472
-rw-r--r-- 1 root root 7650188 Feb  6 22:09 govc_linux_amd64.gz
[root@uaweb1 vsphereCLI]# gunzip govc_linux_amd64.gz
[root@uaweb1 vsphereCLI]# ls -lrt
total 31688
-rw-r--r-- 1 root root 32447221 Feb  6 22:09 govc_linux_amd64
[root@uaweb1 vsphereCLI]# pwd
/root/vsphereCLI
[root@uaweb1 vsphereCLI]# ln -s /root/vsphereCLI/govc_linux_amd64  /usr/local/bin/govc
[root@uaweb1 vsphereCLI]# govc version
govc 0.20.0
[root@uaweb1 vsphereCLI]#

 

4. Configure the user environment with GOVC environment variable. I have updated my user’s “.bash_profile” to load the GOVC environment variables.

  • GOVC_USERNAME: vCenter Username/ ESXi Username
  • GOVC_PASSWORD: vCenter Password/ ESXi Password
  • GOVC_URL: vCenter/ESXi SDK URL
  • GOVC_INSECURE: Disable/Enable certificate verification
[root@uaweb1 ~]# cat .bash_profile |grep GOVC
export GOVC_URL=https://192.168.2.212
export GOVC_USERNAME=administrator@vsphere.local
export GOVC_PASSWORD=password@123
export GOVC_INSECURE=true
[root@uaweb1 ~]#

 

If you do not want to store the user’s credentials in plain text, you can execute the GOVC environment commands when you needed.

export GOVC_URL="https://192.168.2.212"
export GOVC_USERNAME="administrator@vsphere.local"
export GOVC_PASSWORD="password@123"
export GOVC_INSECURE="true"

 

5. Let’s make the API call to vSphere environment using govc.
Listing all the datacenter vCenter objects.

[root@uaweb1 ~]# govc ls
/SECUA/vm
/SECUA/network
/SECUA/host
/SECUA/datastore
[root@uaweb1 ~]# 

List the host. If the Cluster is configured , it will just show the clustername.

[root@uaweb1 ~]# govc ls /SECUA/host
/SECUA/host/SECCLS
[root@uaweb1 ~]#

List all the cluster resources.

 [root@uaweb1 ~]#govc ls /SECUA/host/SECCLS
/SECUA/host/SECCLS/Resources
/SECUA/host/SECCLS/192.168.2.65
/SECUA/host/SECCLS/192.168.2.66
[root@uaweb1 ~]#

 

6. We could also pass esxcli command using govc.

[root@uaweb1 ~]# govc  host.esxcli -host=192.168.2.66 network vswitch standard portgroup list
Name                Virtual Switch  Active Clients  VLAN ID
----                --------------  --------------  -------
Management Network  vSwitch0        1               0
VLAN-160             vSwitch0        0               160
VM Network          vSwitch0        0               0
[root@uaweb1 ~]#

 

7. Here is the list of govc commands/usage.

[root@uaweb1 ~]# govc
Usage of govc:
  about
  about.cert
  cluster.add
  cluster.change
  cluster.create
  cluster.group.change
  cluster.group.create
  cluster.group.ls
  cluster.group.remove
  cluster.override.change
  cluster.override.info
  cluster.override.remove
  cluster.rule.change
  cluster.rule.create
  cluster.rule.info
  cluster.rule.ls
  cluster.rule.remove
  datacenter.create
  datacenter.info
  datastore.cluster.change
  datastore.cluster.info
  datastore.cp
  datastore.create
  datastore.disk.create
  datastore.disk.inflate
  datastore.disk.info
  datastore.disk.shrink
  datastore.download
  datastore.info
  datastore.ls
  datastore.mkdir
  datastore.mv
  datastore.remove
  datastore.rm
  datastore.tail
  datastore.upload
  datastore.vsan.dom.ls
  datastore.vsan.dom.rm
  device.boot
  device.cdrom.add
  device.cdrom.eject
  device.cdrom.insert
  device.connect
  device.disconnect
  device.floppy.add
  device.floppy.eject
  device.floppy.insert
  device.info
  device.ls
  device.remove
  device.scsi.add
  device.serial.add
  device.serial.connect
  device.serial.disconnect
  device.usb.add
  disk.create
  disk.ls
  disk.register
  disk.rm
  disk.snapshot.create
  disk.snapshot.ls
  disk.snapshot.rm
  disk.tags.attach
  disk.tags.detach
  dvs.add
  dvs.create
  dvs.portgroup.add
  dvs.portgroup.change
  dvs.portgroup.info
  env
  events
  export.ovf
  extension.info
  extension.register
  extension.setcert
  extension.unregister
  fields.add
  fields.info
  fields.ls
  fields.rename
  fields.rm
  fields.set
  find
  firewall.ruleset.find
  folder.create
  folder.info
  guest.chmod
  guest.chown
  guest.download
  guest.getenv
  guest.kill
  guest.ls
  guest.mkdir
  guest.mktemp
  guest.mv
  guest.ps
  guest.rm
  guest.rmdir
  guest.run
  guest.start
  guest.touch
  guest.upload
  host.account.create
  host.account.remove
  host.account.update
  host.add
  host.autostart.add
  host.autostart.configure
  host.autostart.info
  host.autostart.remove
  host.cert.csr
  host.cert.import
  host.cert.info
  host.date.change
  host.date.info
  host.disconnect
  host.esxcli
  host.info
  host.maintenance.enter
  host.maintenance.exit
  host.option.ls
  host.option.set
  host.portgroup.add
  host.portgroup.change
  host.portgroup.info
  host.portgroup.remove
  host.reconnect
  host.remove
  host.service
  host.service.ls
  host.shutdown
  host.storage.info
  host.storage.mark
  host.storage.partition
  host.vnic.info
  host.vnic.service
  host.vswitch.add
  host.vswitch.info
  host.vswitch.remove
  import.ova
  import.ovf
  import.spec
  import.vmdk
  license.add
  license.assign
  license.assigned.ls
  license.decode
  license.label.set
  license.ls
  license.remove
  logs
  logs.download
  logs.ls
  ls
  metric.change
  metric.info
  metric.interval.change
  metric.interval.info
  metric.ls
  metric.reset
  metric.sample
  object.collect
  object.destroy
  object.method
  object.mv
  object.reload
  object.rename
  option.ls
  option.set
  permissions.ls
  permissions.remove
  permissions.set
  pool.change
  pool.create
  pool.destroy
  pool.info
  role.create
  role.ls
  role.remove
  role.update
  role.usage
  session.login
  session.logout
  session.ls
  session.rm
  snapshot.create
  snapshot.remove
  snapshot.revert
  snapshot.tree
  sso.service.ls
  sso.user.create
  sso.user.id
  sso.user.ls
  sso.user.rm
  sso.user.update
  tags.attach
  tags.attached.ls
  tags.category.create
  tags.category.info
  tags.category.ls
  tags.category.rm
  tags.category.update
  tags.create
  tags.detach
  tags.info
  tags.ls
  tags.rm
  tags.update
  task.cancel
  tasks
  vapp.destroy
  vapp.power
  version
  vm.change
  vm.clone
  vm.console
  vm.create
  vm.destroy
  vm.disk.attach
  vm.disk.change
  vm.disk.create
  vm.guest.tools
  vm.info
  vm.ip
  vm.keystrokes
  vm.markastemplate
  vm.markasvm
  vm.migrate
  vm.network.add
  vm.network.change
  vm.option.info
  vm.power
  vm.question
  vm.rdm.attach
  vm.rdm.ls
  vm.register
  vm.unregister
  vm.upgrade
  vm.vnc
[root@uaweb1 ~]#

 

8. To know more about a specific command, use help. (# govc command -help)

[root@uaweb1 ~]# govc vm.info -help
Usage: govc vm.info [OPTIONS] VM...

Display info for VM.

Examples:
  govc vm.info $vm
  govc vm.info -json $vm
  govc find . -type m -runtime.powerState poweredOn | xargs govc vm.info

Options:
  -cert=                         Certificate [GOVC_CERTIFICATE]
  -dc=                           Datacenter [GOVC_DATACENTER]
  -debug=false                   Store debug logs [GOVC_DEBUG]
  -dump=false                    Enable Go output
  -e=false                       Show ExtraConfig
  -g=true                        Show general summary
  -json=false                    Enable JSON output
  -k=true                        Skip verification of server certificate [GOVC_INSECURE]
  -key=                          Private key [GOVC_PRIVATE_KEY]
  -persist-session=true          Persist session to disk [GOVC_PERSIST_SESSION]
  -r=false                       Show resource summary
  -t=false                       Show ToolsConfigInfo
  -tls-ca-certs=                 TLS CA certificates file [GOVC_TLS_CA_CERTS]
  -tls-known-hosts=              TLS known hosts file [GOVC_TLS_KNOWN_HOSTS]
  -u=https://@192.168.2.212/sdk  ESX or vCenter URL [GOVC_URL]
  -vim-namespace=vim25           Vim namespace [GOVC_VIM_NAMESPACE]
  -vim-version=6.7               Vim version [GOVC_VIM_VERSION]
  -vm.dns=                       Find VM by FQDN
  -vm.ip=                        Find VM by IP address
  -vm.ipath=                     Find VM by inventory path
  -vm.path=                      Find VM by path to .vmx file
  -vm.uuid=                      Find VM by UUID
  -waitip=false                  Wait for VM to acquire IP address
[root@uaweb1 ~]#

 

Hope govc will be useful for quick vSphere operations. I will try to post a few more articles with many more command examples with a different switch.

Share it! Comment it!! Be Sociable!!!

The post govmomi – Installing and configuring govc-cli for vSphere appeared first on UnixArena.

Jenkins- Ansible -Authenticate Server using Protected Passphrase

$
0
0

Ansible is the most widely used configuration management tool. A recent challenge was to authenticate the servers using a protected passphrase. We have a set of servers which can be authenticated only using a passphrase. This article will provide a step by step procedure to authenticate ansible clients using a private key and protected passphrase. Jenkins can be used as a front end GUI portal to call the Ansible playbook. Jenkins does more than what AWX/Ansible Tower does.

 

Environment: 

  • Ansible – ansible 2.7.10
  • Jenkins – Jenkins 2.138.3

 

Challenge:

When you run the playbook against the host which are using a protected passphrase, it will prompt for the protected key.

[linadm@ansible-server ~]$ ansible-playbook -i temp test.yml

PLAY [192.168.3.151] *********************************************************************************

TASK [Gathering Facts] *******************************************************************************************************
Enter passphrase for key '/home/linadm/.ssh/id_rsa':

 

Once you have entered the protected key, it will connect to the host and run the required tasks.  How to call this playbook in Jenkins?   Jenkins job won’t be prompted to enter the protected key. How to overcome this issue?

If you are new to Ansible + Jenkins combo, please go through this article

 

1. Login to Jenkins portal.

 

2. Configure the job and navigate to the build tab.  In invoking Ansible plugin, click to add credentials.

Ansible Playbook - Jenkins - Passphrase
Ansible Playbook – Jenkins – Passphrase

 

3. In the Jenkins credentials provider, select kind as ” SSH username with private key”

Jenkins - Passing passphrase for Ansible playbook
Jenkins – Passing passphrase for Ansible playbook

 

4. Enter a user name, the private key of the ansible host and protected the key value and save it.

Jenkins Global Credential - Passphrase
Jenkins Global Credential – Passphrase

 

5. Select the newly created credentials in Jenkins job which is actually calling the ansible playbook.

Select the newly created credentials - Jenkins Ansible
Select the newly created credentials – Jenkins Ansible

 

6. Build the job and check the ansible playbook results.  Here, we can see the complete ansible command with private key switch.

Build Jenkins Job - Check the execution
Build Jenkins Job – Check the execution

 

We have successfully used the protected passphrase for invoking ansible playbook using Jenkins. There is another workaround documented in StackOverflow using ssh agent.

Hope this article is informative to you.

The post Jenkins- Ansible -Authenticate Server using Protected Passphrase appeared first on UnixArena.


How to Boost Ansible playbook Speed ?

$
0
0

How to increase the ansible playbook execution speed? One who is running the playbook against more than 100 hosts could witness the slowness if it’s not fine-tuned. Ansible has few configurable parameters which can reduce the playbook execution time significantly. As a result of the fine-tuning ansible, playbook execution time has been reduced from 4hours to 40mins. Let’s tweak your Ansible settings to achieve faster throughput.

/etc/ansible/ansible.cfg  – The default configuration file.

 

How to identify your ansible configuration file? Execute the ansible version check command.

[linadm@ansible-server .ssh]$ ansible --version
ansible 2.7.10
  config file = /home/linadm/automation/linadm-ansible.cfg
  configured module search path = [u'/home/linadm/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
[linadm@ansible-server .ssh]$

Once you have identified the configuration file, take a backup for rollback and try the following changes to boots the playbook speed.

 

1.  Fork:

The fork is the default parallel number of the process while communicating to remote nodes.  The default value is 5. This number can be increased from 5 to 500 depends on the ansible node configuration.  If you have a large number of hosts, higher values will make actions across all of those hosts complete faster. The default is very very conservative.

I have set the number of forks to 15. You need to find out the exact value by re-running the job after changing the number of forks.

[linadm@ansible-server .ssh]$ cat /home/linadm/automation/linadm-ansible.cfg |grep -i fork
forks          = 15
[linadm@ansible-server .ssh]$

2. Strategies

By default, ansible play happens using linear strategy in which all hosts will run each task before any host starts the next task, using the number of forks (default 5) to parallelize. Strategies are a way to control ansible play execution. “free” option which allows each host to run until the end of the play as fast as it can.

The following is the sample playbook which follows the strategy free workflow. If I have 100 servers in my inventory and few of those have an issue with repo or network issue, Ansible engine doesn’t wait for those boxes to execute the tasks. It will just ignore those issue nodes and continuous the task execution on others.

[root@ansible-server ~]# cat strategy_test.yaml
---
- hosts: all
  strategy: free

  tasks:
    - name: Install Tomcat packages
      yum:
       name: tomcat
       state: present
[root@ansible-server ~]#

 

3. Disable Gather Facts:

Disabling facts could save a lot of time when you run the playbook against the group of servers. But if you have used ansible variables in the playbook, you can’t disable the facts.

Here is the sample playbook in which facts are disabled.

---
- hosts: all
  strategy: free
  gather_facts: no

  tasks:
    - name: Install ntp packa
      yum:
       name: tomcat
       state: present

 

4. Pipelining: 

Pipelining is a replacement for the older accelerated mode option in Ansible. Ansible engine sends modules over an SSH connection from the controller to the host machine. Which means, it does the following action.

  1. Directory creation at the host machine
  2. Transfer of module source
  3. Execution of code

Pipelining just reduces the number of ssh operations required to execute a module by executing many Ansible modules without an actual file transfer. SSH pipelining is used to reduce the number of SSH connections to the host machine to one per task. The module execution is done by passing the instructions to the host via SSH. The instructions are written directly onto the STDIN channel.

 

Pipelining can be enabled in ansible.cfg.

[root@ansible-server ~]# cat /etc/ansible/ansible.cfg |grep -i pipe
# Enabling pipelining reduces the number of SSH operations required to
pipelining = True

 

Without Pipeline:

[root@ansible-server ~]# time ansible-playbook -i temp strategy_test.yaml --ask-pass
SSH password:

PLAY [all] ********************************************************************************

TASK [Install Tomcat packages] *******************************************************************************************
ok: [192.168.3.165]
ok: [192.168.3.151]

PLAY RECAP ********************************************************************************
192.168.3.151              : ok=1    changed=0    unreachable=0    failed=0
192.168.3.165              : ok=1    changed=0    unreachable=0    failed=0

real    0m11.200s
user    0m3.346s
sys     0m1.437s
[root@ansible-server ~]#

 

After enabling Pipeline:

[root@ansible-server ~]# time ansible-playbook -i temp strategy_test.yaml --ask-pass
SSH password:

PLAY [all] *************************************************************************************
TASK [Install Tomcat packages] ************************************************************************************************
ok: [192.168.3.165]
ok: [192.168.3.151]

PLAY RECAP *************************************************************************************
192.168.3.151              : ok=1    changed=0    unreachable=0    failed=0
192.168.3.165              : ok=1    changed=0    unreachable=0    failed=0

real    0m6.890s
user    0m1.940s
sys     0m0.404s
[root@ansible-server ~]#

 

I would recommend testing each parameter before implementing in real production. Increasing the number of fork value or gather_facts are depended on the ansible controller machine’s configuration. Hope this article is informative to you.

The post How to Boost Ansible playbook Speed ? appeared first on UnixArena.

VMware vSAN Lab – How to Create Fake SSD on VMware workstation?

$
0
0

VMware vSAN is a hyper-converged, widely used software-defined storage for a VMware vSphere environment. Using Nested virtualization, Many of us will try to practice vSAN Lab on VMware Workstation. In my old article, I have shared the trick to convert the Non-SSD to SDD disk by enabling the rule on ESXi. But this procedure is going to be a straight forward to create the emulated SSD using VMware Workstation. Let’s walk through the procedure to create the fake SSD.

 

Environment:

  • VMware Workstation Pro 14
  • VMware ESXi 6.5
  • vCenter Server 6.5
  • vSAN

Assuming that you have test LAB for vSAN running on VMware workstation with above-mentioned software versions.

 

1. Edit the ESXi virtual machine and click to add a device.

 

2. Select the device type as Harddisk and click next.

VMware Workstation - Add HDD for ESXi VM node
VMware Workstation – Add HDD for ESXi VM node

 

 

3. Select the disk type as NVMe (Non-Volatile Memory express)

Select Disk type as NVMe - VMware workstation
Select Disk type as NVMe – VMware workstation

 

Note: VMware Workstation 14 Pro introduces a new virtual NVMe storage controller for improved guest operating system performance on Host SSD drives and support for testing VMware vSAN.  NVMe devices require virtual hardware version 13 / ESXi 6.5 compatibility and later.

 

4. Create a new virtual disk and click next.

VMware workstation - Create Fake SSD
VMware workstation – Create Fake SSD

 

5. Enter the size of NVMe disk.

VMware workstation - Create Fake SSD - size
VMware workstation – Create Fake SSD – size

 

6. Once you have added the disk, you can see like below.

NVMe - HDD - VMware Workstation
NVMe – HDD – VMware Workstation

 

7. Login to the vSphere web client. (Not on HTML5 UI).

 

8. Navigate to Datastore tab and select the existing vSAN datastore.  Click on configure and select device backing. select the highlighted icon to claim the disks under vSAN. This operation will create a new disk group.

Claim Newly added SSD in vSAN - vSphere
Claim Newly added SSD in vSAN – vSphere

 

9. Select the newly added SSD. (NVMe disk). To create a new disk group, you should require additional  HDD/SDD for the capacity tier.

NVMe Disk List as Cache
NVMe Disk List as Cache

 

In the above screenshot, I have selected HDD for capacity tier and NVMe disk for cache tier.

Note: HDD can’t be added in to cache tier.

 

10. Here we can see that the new disk group created with the added disk.

New SSD added - VMware vSAN
New SSD added – VMware vSAN

 

What to do if you do not have a license for VMware workstation 14 pro?  You could try the below trick to make HDD as SSD in vSphere 6.5.

In HTML5 UI ,

Mark the HDD as SSD - vSphere 6.5
Mark the HDD as SSD – vSphere 6.5

 

In Flash Web-client,

Mark the HDD as SSD - vSphere 6.5 - Flash Webclient
Mark the HDD as SSD – vSphere 6.5 – Flash WebClient

 

Hope this article is informative to you. Share it! Comment it !! Be sociable!!!

The post VMware vSAN Lab – How to Create Fake SSD on VMware workstation? appeared first on UnixArena.

VMware vSphere – How to Remove Host from HA ?

$
0
0

How to remove ESXi node from vSphere HA?  VMware vSphere HA (High Availablity) enables a server administrator to aggregate physical servers on the same to create a logical group called a high availability cluster.  vSphere HA is responsible to restart the failed VM’s on other available ESXi nodes to reduce the application downtime. When you remove a host from a cluster, its resources are deducted from the total resources of the cluster. The state of the virtual machines deployed on the host determines whether they are migrated to other hosts within the cluster, or remain on the host and are removed from the cluster.

 

Removing the ESXi Node from vSphere HA

 

1. Login to vSphere Web Client as administrator.

 

2. Here is my vSphere HA environment. We will try to remove host – 192.168.2.65 from HA.

VMware vsphere HA
VMware vSphere HA

 

3. Right-click the ESXi host and select “Enter maintenance mode”.

Select ESXi Host - Enter Maintenance Mode
Select ESXi Host – Enter Maintenance Mode

 

4. Select the options based on your VM placement.  In my case, I do have vSAN enabled for both ESXi host.

ESXi Node - Maintenance Mode - Options
ESXi Node – Maintenance Mode – Options

 

4. vSphere HA will be turned off in ESXi Maintenance mode.

ESxi Host - Maintenance - vSphere HA state - NA
ESxi Host – Maintenance – vSphere HA state – NA

 

5. Drag the node outside the vSphere cluster name (SECCLS ). You could drag under the virtual datacenter.

Drag the ESXi node Under virtual datacenter
Drag the ESXi node Under virtual datacenter

 

6. You could also select the node and click on Move to the desired folder or under the virtual datacenter.

Select the ESXi host and move to the desired folder or virtual DC
Select the ESXi host and move to the desired folder or virtual DC

 

We have successfully removed ESXi node from vSphere HA. Hope this article is informative to you.

The post VMware vSphere – How to Remove Host from HA ? appeared first on UnixArena.

Ansible reboot module – Shutdown Command Not found on Linux

$
0
0

Ansible is a widely used configuration management tool. Opensource community and RedHat aggressively developing to create modules for each task. In Ansible 2.7, reboot module is responsible to reboot the host and wait to come back. But the Linux image development varies for each organization. In some environment, engineers might remove shutdown command from the command search path or keeping shutdown binary in the custom path. If you bring those machines in Ansible automation, reboot module will fail with error ” shutdown command not found” This article will walk you through how to resolve that issue.

 

Environment:

  • Ansible 2.7 / 2.8
  • Ansible Clients – Linux

 

1. Login to Ansible server.

 

2. Here is the reboot ansible playbook.

---
- hosts: all
  become: yes

  tasks:
   - name: Check the uptime
     shell: uptime
     register: UPTIME_PRE_REBOOT

   - debug: msg={{UPTIME_PRE_REBOOT.stdout}}

   - name: Unconditionally reboot the machine with all defaults
     reboot:

   - name: Check the uptime after reboot
     shell: uptime
     register: UPTIME_POST_REBOOT

   - debug: msg={{UPTIME_POST_REBOOT.stdout}}

 

If you get shut down command not found, you have the following options.

 

If you are running with Ansible engine 2.8, then tweak the playbook like below.

 

3. In Ansible 2.8, Ansible’s reboot module had the option to include the command search path as argument. In my hosts, shutdown command has been kept in /usr/sbin/custom/

---
- hosts: all
  become: yes

  tasks:
   - name: Check the uptime
     shell: uptime
     register: UPTIME_PRE_REBOOT

   - debug: msg={{UPTIME_PRE_REBOOT.stdout}}

   - name: Unconditionally reboot the machine with all defaults
     reboot:
         search_paths: /usr/sbin/custom/

   - name: Check the uptime after reboot
     shell: uptime
     register: UPTIME_POST_REBOOT

   - debug: msg={{UPTIME_POST_REBOOT.stdout}}

 

The search_path argument is responsible provide the shutdown command path for reboot module. Try the playbook in the test environment and validate the results.

 

Share it! Comment it!! Be Sociable

The post Ansible reboot module – Shutdown Command Not found on Linux appeared first on UnixArena.

VMware vSphere – How to Change VCSA 6.x IP address ?

$
0
0

How to change VCSA (vCenter Server Appliance) 6.x IP address? VMware vSphere 6.7 U1 is the last version which offers Windows-based vCenter Server. Going forward, we must start adapting in-house vCenter appliance which runs on VMware Photon OS (Linux Variant). VMware doesn’t recommend to change the vCenter appliance IP address.  If  FQDN is set as an IP address during deployment, you can’t change the IP address. If you change from CLI or Linux console (editing network file), the vCenter page can’t be accessed due to broken SSO.

This article assumes that you have set the FQDN as a name during the deployment.

 

1. Login to VCSA Management page as root.  By default, VCSA management portal listens on 5480 port.

https://VCSA_Hostname:5480

VMware vSphere Appliance Management - Login Page
VMware vSphere Appliance Management – Login Page

 

2. Navigate to the networking tab and click on Manage.   Click on Edit to update the IP.

VCSA - Networking - ipv4 Edit
VCSA – Networking – ipv4 Edit

 

3. If you are unable to update the IP using VAMI (vCenter Appliance Management Interface), we can use the VAMI cli from the console or using SSH. This issue is more likely that you have deployed VCSA  using IP address as FQDN.

VCSA - ipv4 Updating disabled
VCSA – ipv4 Updating disabled

 

4. Login to vCenter Appliance console directly as root user.

login as: root

VMware vCenter Server Appliance 6.5.0.12000

Type: vCenter Server with an embedded Platform Services Controller

root@192.168.2.213's password:
Connected to service

    * List APIs: "help api list"
    * List Plugins: "help pi list"
    * Launch BASH: "shell"

Command> shell
Shell access is granted to root
root@photon-machine [ ~ ]#

 

5. Invoke VAMI config cli utility to update the ipv4 IP address.

root@photon-machine [ /etc/systemd/network ]# /opt/vmware/share/vami/vami_config_net

 Main Menu

0)      Show Current Configuration (scroll with Shift-PgUp/PgDown)
1)      Exit this program
2)      Default Gateway
3)      Hostname
4)      DNS
5)      Proxy Server
6)      IP Address Allocation for eth0
Enter a menu number [0]: 0

Network Configuration for eth0
IPv4 Address:   192.168.2.213
Netmask:        255.255.255.0
IPv6 Address:
Prefix:

Global Configuration
IPv4 Gateway:   192.168.2.1
IPv6 Gateway:
Hostname:       photon-machine
DNS Servers:
Domain Name:
Search Path:
Proxy Server:


 Main Menu

0)      Show Current Configuration (scroll with Shift-PgUp/PgDown)
1)      Exit this program
2)      Default Gateway
3)      Hostname
4)      DNS
5)      Proxy Server
6)      IP Address Allocation for eth0
Enter a menu number [0]: 6
Type Ctrl-C to go back to the Main Menu

Configure an IPv6 address for eth0? y/n [n]:
Configure an IPv4 address for eth0? y/n [n]: y
Use a DHCPv4 Server instead of a static IPv4 address? y/n [n]:
IPv4 Address [192.168.2.213]: 192.168.2.212
Netmask [255.255.255.0]:
IPv4 Address:   192.168.2.212
Netmask:        255.255.255.0

Is this correct? y/n [y]:

Reconfiguring eth0...

 

6. Reboot the appliance to take effect the new IP address.

 

7. Login back to VAMI console to check the new IP of VCSA.

After changing IP address - VCSA
After changing IP address – VCSA

 

8. vCenter should be accessible using the new IP.

vCenter - Login Page
vCenter – Login Page

 

 

If you are more familiar with the Linux operating system, you could directly edit the system network configuration and reboot the appliance.

root@photon-machine [ /etc/systemd/network ]# cat 10-eth0.network

[Match]
Name=eth0

[Network]
Gateway=192.168.2.1
Address=192.168.2.212/24
DHCP=no

[DHCP]
UseDNS=false
root@photon-machine [ /etc/systemd/network ]#

 

Hope this article is informative to you. Share it! Be Sociable !!!

The post VMware vSphere – How to Change VCSA 6.x IP address ? appeared first on UnixArena.

VMware vSphere 6.x – Remove node from vSAN cluster

$
0
0

How to safely evacuate the node from the vSAN cluster on VMware vSphere?  VMware vSAN is one of the low-cost storage solutions for startups and mid-size companies. vSAN eliminates the need of Fibre channel networks. It aggregates the local disks and provides the storage over the network. This article will walk through how to remove the node from the vSAN cluster without affecting the data. We could also use the pre-check evaluation to validate our activity before actually removing a node from the vSAN cluster.

 

Environment: VMware vSphere 6.x

Datacenter: SEC (Secondary Datacenter of UA)

 

1. Login to the vCenter portal as an administrator.  (Flash Based UI) .

 

2. Navigate to the Datastore and select the vSAN datastore and select the host like below.  Click on the third icon (X) to trigger the pre-check evaluation.

vSAN - Datastore Configure - Device Backing
vSAN – Datastore Configure – Device Backing

 

3. Here is the first scenario if you have selected to evaluate the data to other vSAN nodes.

Evacuate all data to other vSAN cluster host - Pre-check Evaluation
Evacuate all data to another vSAN cluster host – Pre-check Evaluation

 

4. If you choose not to evacuate the data which resides on the host, you can see the inaccessible files and directories.

What will Happen if no data evacuation - vSAN
What will Happen if no data evacuation – vSAN

 

5.  Place the host in maintenance mode.

ESXi Host Maintenance Mode
ESXi Host Maintenance Mode

 

6. Migrate the data to another vSAN host before moving the node into the maintenance mode.

Migrate the vSAN data to Another hosts
Migrate the vSAN data to Other hosts

 

7. Once the host is moved into maintenance mode, you can clean up the vSAN disk groups.

Remove Diskgroup - vSAN
Remove Diskgroup – vSAN

 

8. The following windows show nothing to migrate from the disk group.

Nothing to Migrate from disks - vSAN
Nothing to Migrate from disks – vSAN

 

9. Once the disk group is cleaned up, you can see the host like below.

No vSAN Diskgroup
No vSAN Diskgroup

 

10. Move the host from the cluster.

Move the host out oaf cluster - vSAN
Move the host out of cluster – vSAN

 

11. You could move it under datacenter.

Moving to the virtual DC
Moving to the virtual DC

 

12. Here we can see that ESXi host is completely out of cluster & vSAN.

ESXi host moved out from vSAN
ESXi host moved out from vSAN

 

We have successfully removed the ESXi host from vSAN & HA. Hope this article informative to you.

The post VMware vSphere 6.x – Remove node from vSAN cluster appeared first on UnixArena.

VMware vSphere – How to break VCSA 6.5/6.7 root password ?

$
0
0

How to recover the lost vCenter Server Appliance(VCSA 6.5 & above) root password? The vCenter Server Appliance is a preconfigured Linux virtual machine.  vSphere 6.7 U1 is the last release to include vCenter Server for Windows, which has been deprecated. vCenter Server Appliance is a very simple vCenter platform compares to the windows-based vC. Since vCenter server appliance runs on VMware photon OS, password recovery is almost similar to Linux server. This article will demonstrate how to break the VCSA 6.5/6.7 root password.

 

1.  VCSA 6.5 appliance will be a virtual machine on vCenter.  Just reboot the VCSA 6.5 appliance and interrupt the boot by pressing escape.

vCenter Server Appliance Version 6.5
vCenter Server Appliance Version 6.5

 

2. Once the VCSA appliance is booting, you could see the boot screen like below. Press Escape key & Press “e” to edit the GRUB menu.

vCenter Server Appliance - Boot Screen
vCenter Server Appliance – Boot Screen

 

3. Navigate to the line which starts from “linux“. At the end of that line, append “rw init=/bin/bash”  and press control + X or F10 to boot with those arguments.

Add bash shell using rw flag - VCSA 6.5 Grub
Add bash shell using rw flag – VCSA 6.5 Grub

 

4.  The system will be dropped in the root shell as shown in the following screenshot.

VCSA 6.5 - Emergency mode - root shell
VCSA 6.5 – Emergency mode – root shell

 

5. Remount the root filesystem in read/write mode.

# mount -o remount,rw /

 

6. Reset the root account password.

Reset root account password
Reset root account password

 

7. Umount the root filesystem.

# umount /

 

8. Reboot VCSA using -f flag to reboot it forcefully.

# reboot -f

 

9. Once the VCSA is booted normally, you can login using the newly set password.

Logged in Successfully - VCSA 6.5 - Break root Password
Logged in Successfully – VCSA 6.5 – Break root Password

 

10. You could also test by logging in to VCSA 6.5 Management portal.  (http://VCSA:5480)

VCSA 6.5 - Appliance Management
VCSA 6.5 – Appliance Management

 

11. Here is the successful login.

Logged in to VCSA 6.5 - Appliance Management
Logged in to VCSA 6.5 – Appliance Management

 

Hope this article is informative to you.

The post VMware vSphere – How to break VCSA 6.5/6.7 root password ? appeared first on UnixArena.


VMware vSphere – How to identify Distributed Switch ID / Portgroupkey ?

$
0
0

VMware vSphere Distributed Switch (VDS) provides a centralized interface to manage the virtual machine’s network for the entire datacenter. Unlike vSphere Standard Switch (VSS),  Distributed Switch (VDS) shows the network as an aggregated resource. In VMware vSphere 6.7, VMware vCenter Server instance can support up to 128 VDS and each VDS can manage up to 500 hosts. This article will walk you through how to identify distributed switch ID/ Object ID using “govmami” CLI utility.

 

If you are not familiar with a “govmami” tool,  please check out how to configure it.

 

1. Login to the server in which “govmami” tool is configured.

 

2. To list the available vSphere datacenter, execute the following command.

$ ./govc ls
/UA1
/UA2
$

 

3. To list the distributed switch on specific data center, use the following command.

 $ ./govc find /UA1 -type DistributedVirtualSwitch
/UA1/network/UA1_Networks/Virtual Distributed/VDS_IAAS_UA1
/UA1/network/UA1_Networks/Virtual Distributed/VDS_PAAS_UA1

 

4. To get the distributed switch port group info, run the following command. Here you can find the DVS UID, Portgroupkey and configured vlanID

$./govc dvs.portgroup.info -dc=UA1 VDS_IAAS_UA1
PortgroupKey: dvportgroup-90
DvsUuid:      08 b2 28 50 b1 e5 9b 02-72 81 e0 73 fc b0 e9 c7
VlanId:       609
PortKey:      1000

PortgroupKey: dvportgroup-10621
DvsUuid:      08 b2 28 50 b1 e5 9b 02-72 81 e0 73 fc b0 e9 c7
VlanId:       349
PortKey:      10000

 

govmomi” binary also can perform the following actions on DVS.

  • dvs.add
  • dvs.create
  • dvs.portgroup.add
  • dvs.portgroup.change
  • dvs.portgroup.info

 

Hope this article is informative to you.

The post VMware vSphere – How to identify Distributed Switch ID / Portgroupkey ? appeared first on UnixArena.

RVTools 3.11.9 – Simple VMware vSphere Reporting Tool

$
0
0

RVTools is one of the promising reporting tools for VMware vSphere since 2008. It’s a windows based tool which requires .NET 4.6.1 framework to pull the virtual environments information using VI SDK. It supports all the version of the vSphere environment. It can directly connect with vCenter or ESXi (If standalone) to get all the information. RVTools is also used as a capacity reporting tool which provides available vCPU, Memory, datastore capacity, etc. Here is the RVTools documentation page.

I will quickly walk you through a few sample reports.

 

1. Download RVTools from robware.

 

2. Install the RVTools by double-clicking it.

 

3. Once the tool is installed, open the tool and provide the vCenter/ESXi IP and credentials.

RVTools - Login page
RVTools – Login page

 

4. Once you have logged, you could see the “Vinfo” page which lists all the VM’s & templates.

RVTools - Home Page - vInfo
RVTools – Home Page – vInfo

 

5. In this tool, you could see many tabs for each function. This tools also provide an option to upgrade VMware Tools on the supported virtual machines.

RVTools - VMware Tools update
RVTools – VMware Tools update

 

6. You could also export all the fetched information to Excel.

RVTools - Export to Excel - VMware vSphere
RVTools – Export to Excel – VMware vSphere

 

7. Once you have exported, you can get the report similar to below.

RVTools - Exported Report
RVTools – Exported Report

 

Hope this article is informative.

The post RVTools 3.11.9 – Simple VMware vSphere Reporting Tool appeared first on UnixArena.

Virtualization & Hypervisor – Basic Interview Questions

$
0
0

Virtualization helps to decouple the Operating systems and applications from the hardware layer.  Virtualization is the process of creating a virtual or software-based representation like a virtual server, application, network, storage resources. Hypervisor is one of the most popular virtualizations technology for servers and operating systems. This enables the IT organization to run more than one Virtual machines on a single physical server. It improved server utilization and efficiency.

Virtualization:

Here is the list of commonly used virtualization in the Hosting environment.

  • Server Virtualization
  • Storage virtualization
  • Network Virtualization
  • Desktop Virtualization
  • Application virtualization
Types of virtualization
Types of virtualization

 

Server Virtualization:

Server Virtualization enables multiple operating systems can run on a single hosting server. So that server can be utilized very efficiently. In Server virtualization, physical server resources are abstracted logically to create and run virtual machines. (ESXi, KVM, Hyper-V).

Server Virtualization
Server Virtualization

 

Storage Virtualization:
Storage virtualization is a common term. It differs depends on the storage type and vendor. Storage virtualization enables grouping of multiple physical storage disks into single logical storage and it will be presented as single storage to all the servers. VMware vSAN is the best example of storage virtualization.

Storage Virtualization
Storage Virtualization

 

Network Virtualization:

Network Virtualization allows making a complete software-defined network (SDN) by decoupling the virtual network from the underlying network resources. Network virtualization is the process of combining hardware network resources and software network resources in a single software-based administrative entity.

Network Virtualization
Network Virtualization – Image  – Cisco.com

 

Desktop Virtualization:

Desktop virtualization helps to simplify end-user computing. It enables to deploy multiple desktops on few server hardware and accessed by users from any location. VMware Horizon View is the best example for desktop virtualization.

Desktop Virtualization
Desktop Virtualization – Image: VMware.com

 

Application Virtualization:

Application virtualization enables to use of the application anywhere without installing the software our device. Office 365 is the best example of application virtualization. When you have office 365 account, you can use all the office application on your laptop without installing it.

 

What is Hypervisor?

The hypervisor is a process that creates and runs virtual machines. It allows a physical server to host multiple virtual machines by sharing hardware resources such as CPU, Memory, GPU, Network, etc. The hypervisor also called as Virtual Machine Monitor (VMM).

Here are the hypervisor examples: VMware ESXi, Hyper-V, Oracle LDOM, IBM LPAR, etc.

 

Type of Hypervisor:

There are two types of hypervisors used in the market.
1. Type 1 (Bare-Metal)
2. Type 2 (Hosted)

Hyper-visor Types
Hyper-visor Types

 

What is Type 1 Hypervisor?

Type 1 is called as bare metal Hypervisor which directly installed on physical servers. It offers high-performance and lower resource usage. Example: VMware ESXi, Xen Servers, Hyper-V

 

What is Type 2 Hypervisor?

Type 2 is called as Hosted Hypervisor which runs on top of operating systems. This type of hypervisor will be installed as an application. It offers moderate performance. But it’s very easy to setup and manages the environment. Example: VMware Workstation, Oracle Virtual Box.

The post Virtualization & Hypervisor – Basic Interview Questions appeared first on UnixArena.

Global Business Intelligence Market to be Worth $147.19 Billion in 2025

$
0
0
Global Business Intelligent Market

A recent report from insight generator Market Watch predicts that the global business intelligence market will enjoy a compounded annual growth rate of 26.98% in the next six years and will be valued at $147.19 billion by 2025.

More and more organizations are turning to data-driven decision making to address the challenges of complex business decisions. Business Intelligence (BI) provides companies with various tools for analyzing data that aid in information-driven outcomes.

 

Growth drivers:

BI development and adoption hinge on platforms aiding top management and departmental heads in making better decisions, growing revenue, increasing efficiency, and cornering competitive advantages in their industry. The increasing competition across industries remains the biggest driver that’s disrupting BI platforms.

Data explosion is a precursor to BI. With emerging technologies such as the Internet of Things, machine learning, and blockchain, data generation is in overdrive. Developments in data processing tools like Kubernetes and languages like R and Python make it easier to process terabytes of data in a flash. This provides companies with unprecedented access to data and potential insights they can utilize for growth.

Small and medium enterprises (SMEs) are now taking advantage of BI platforms which are now accessible on-demand. SMEs are turning to new open-source web-based and XML data warehouses to improve their access to decision support systems. As a result, BI has become more accessible than ever before.

In fact, financial markets are increasingly relying on BI and its capacity for visualization. Time Square Chronicles notes that investors are utilizing BI visual presentations to decide on whether to buy or sell a stock. Data visualization gives them an image comparison of a company’s past and present performance. For many businesses, Yoss highlights that dashboards and visualization tools are the top BI applications that are in demand right now. By leveraging BI generated insights and data storytelling, businesses can gain more momentum and grow much faster.

 

Trends and challenges:

While the huge growth in the BI market is certain, there are specific factors and trends that are emerging.

The role of artificial intelligence (AI) will become central in BI platforms. AI will overhaul how data is stored, processed, crunched, and used. It will change how different platforms approach the handling of unstructured data towards more efficient and more accurate analytics capabilities. This will also bridge the gap between non-expert end-users and the increasingly complex BI dashboards generated today.

Enterprise-level tools will dominate new purchases. For the longest time, most BI platforms hinged on department level needs like sales, purchases, and logistics. With how easy it is to process information nowadays, enterprise-level tools will be the most adapted type of BI.

There are new areas of adoption as well. Insurance, technology, and vertical business services have been the top BI adopters over the last decade. Supply chain visibility, price optimization, and workforce analytics are the new frontiers in BI growth. Smart Data Collective also emphasizes that corporate social responsibility is a key area that will need decision support platforms as it continues to boom.

Data governance and regulations will help BI development progress in the coming years. Institutional oversight of data management, collection, and its use will be a key trend this year. The European Union’s General Data Protection Regulation and similar legislative initiatives like the California Consumer Privacy Act will impact BI adoption in two ways. Firstly, the new regulatory environment will have a dramatic effect on the industry, including data minimization, storage limits, accuracy oversight, and purpose limitations. And secondly, this could also prompt businesses to employ third party software and infrastructure to ensure compliance.

Data management and analytics are key in navigating today’s complex markets. Therefore, the adoption and development of BI is now a necessity for companies to remain competitive more than ever before.

 

Share it! Comment it !! Be sociable !!!

The post Global Business Intelligence Market to be Worth $147.19 Billion in 2025 appeared first on UnixArena.

Microsoft Azure – Install and Configure Azure CLI on Redhat/CentOS

$
0
0

Microsoft Azure is one of the leading cloud service providers in the market. Azure is an industry leader in IaaS and PaaS service cloud. Azure CLI is a command-line interface for managing most of the Azure resources. The Azure portal itself provides an option to automate many things within Azure. The ARM template is one of the best examples. But the Command-Line option always provides more flexibility to integrate with other tools for building custom automation to use Azure resources.

Let’s see how to install and configure Azure CLI on Redhat Linux/CentOS. I always feel that the Linux shell is a better option to create a custom automation workflow.

Environment:

  • Operating System : Redhat Enterprise Linux 7.x / CentOS 7.x
  • Internet Connectivity

Procedure – Installing Azure CLI on Linux

1. Login to Redhat Linux /CentOS as root user. 

2. Download and execute the InstallAzureCli script from Azure. 

# curl -L https://aka.ms/InstallAzureCli | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 1369 100 1369 0 0 1936 0 --:--:-- --:--:-- --:--:-- 1936
Downloading Azure CLI install script from https://azurecliprod.blob.core.windows.net/install.py to /tmp/azure_cli_install_tmp_TMAuYk.
######################################################################## 100.0%
/tmp/azure_cli_install_tmp_TMAuYk: OK
Running install script.
-- Verifying Python version.
-- Python version 2.7.5 okay.
-- Verifying native dependencies.
-- Executing: 'rpm -q gcc libffi-devel python-devel openssl-devel'
-- Native dependencies okay.

3. Select the custom installation path to store the lib files.

===> In what directory would you like to place the install? (leave blank to use '/root/lib/azure-cli'): /opt/azure/lib/azure-cli
-- Creating directory '/opt/azure/lib/azure-cli'.
-- We will install at '/opt/azure/lib/azure-cli'.

4. Select the custom location for azure CLI binaries to store.

===> In what directory would you like to place the 'az' executable? (leave blank to use '/root/bin'): /opt/azure/bin
-- Creating directory '/opt/azure/bin'.
-- The executable will be in '/opt/azure/bin'.
-- Downloading virtualenv package from https://pypi.python.org/packages/source/v/virtualenv/virtualenv-16.7.7.tar.gz.
-- Downloaded virtualenv package to /tmp/tmpByb4x8/virtualenv-16.7.7.tar.gz.
-- Checksum of /tmp/tmpByb4x8/virtualenv-16.7.7.tar.gz OK.
-- Extracting '/tmp/tmpByb4x8/virtualenv-16.7.7.tar.gz' to '/tmp/tmpByb4x8'.
-- Executing: ['/bin/python', 'virtualenv.py', '--python', '/bin/python', '/opt/azure/lib/azure-cli']
Already using interpreter /bin/python

5. Here is Complete installation logs.

New python executable in /opt/azure/lib/azure-cli/bin/python
Installing setuptools, pip, wheel…
done.
-- Executing: ['/opt/azure/lib/azure-cli/bin/pip', 'install', '--cache-dir', '/tmp/tmpByb4x8', 'azure-cli', '--upgrade']
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting azure-cli
Downloading https://files.pythonhosted.org/packages/6e/dc/c54eea78cda6eaf5fbe7565b1a8bb2d68c4946c3abbd8d8c59daede997f7/azure_cli-2.0.77-py2.py3-none-any.whl (1.4MB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 1.4MB 2.3MB/s
Collecting azure-graphrbac~=0.60.0
Downloading https://files.pythonhosted.org/packages/bd/11/f78acb88061fbfb3678cb7f2c7d6ad73b69b08bc558aa56246e9ce0d9998/azure_graphrbac-0.60.0-py2.py3-none-any.whl (139kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 143kB 61.1MB/s
Collecting six~=1.12
Downloading https://files.pythonhosted.org/packages/65/26/32b8464df2a97e6dd1b656ed26b2c194606c16fe163c695a992b36c11cdf/six-1.13.0-py2.py3-none-any.whl
Collecting azure-mgmt-containerservice~=8.0.0
Downloading https://files.pythonhosted.org/packages/e8/6f/8254dfa744a2e36d8085accb765131bf383644032078367e06062a6f2095/azure_mgmt_containerservice-8.0.0-py2.py3-none-any.whl (314kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 317kB 53.5MB/s
Collecting pyyaml~=5.1
Downloading https://files.pythonhosted.org/packages/8d/c9/e5be955a117a1ac548cdd31e37e8fd7b02ce987f9655f5c7563c656d5dcb/PyYAML-5.2.tar.gz (265kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 266kB 64.0MB/s
Collecting jsondiff==1.2.0
Downloading https://files.pythonhosted.org/packages/64/5c/2b4b0ae4d42cb1b0b1a89ab1c4d9fe02c72461e33a5d02009aa700574943/jsondiff-1.2.0.tar.gz
Collecting azure-mgmt-privatedns~=0.1.0
Downloading https://files.pythonhosted.org/packages/f1/47/fd5dba6d5f57c97bf21b4bf9e13bef73b50cab0b18bc171e497057f7e474/azure_mgmt_privatedns-0.1.0-py2.py3-none-any.whl (44kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 51kB 13.4MB/s
Collecting azure-mgmt-web~=0.42.0
Downloading https://files.pythonhosted.org/packages/44/d6/52af7c2b7c4c12dacccb1c7e4bb742f1847dc69300945cd6b82d4724a5d7/azure_mgmt_web-0.42.0-py2.py3-none-any.whl (657kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 665kB 59.0MB/s
Collecting azure-mgmt-dns~=2.1
Downloading https://files.pythonhosted.org/packages/c7/d7/0f986a64b06db93cf29b76f9a188f5778eb959624a00ed6aedc335ee58d2/azure_mgmt_dns-2.1.0-py2.py3-none-any.whl (134kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 143kB 47.5MB/s
Collecting azure-mgmt-batchai~=2.0
Downloading https://files.pythonhosted.org/packages/d9/a5/ab796c2a490155c14f9ac4240724ca5c56723315d4dc753030712e6f2e80/azure_mgmt_batchai-2.0.0-py2.py3-none-any.whl (174kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 184kB 57.2MB/s
Collecting azure-functions-devops-build~=0.0.22
Downloading https://files.pythonhosted.org/packages/d5/96/59ca26c8d9985df8a092cf5974e54b6c3e11208833ea1c0163d7fb763c94/azure-functions-devops-build-0.0.22.tar.gz
Collecting javaproperties==0.5.1
Downloading https://files.pythonhosted.org/packages/ee/c3/1e42437893a99717da1eda415c4b7353e8aaba395cc0ef387a47f4ac1c60/javaproperties-0.5.1-py2.py3-none-any.whl
Collecting azure-mgmt-marketplaceordering~=0.1
Downloading https://files.pythonhosted.org/packages/38/10/7a334338d33d5d0f409ee3736568761cf681f2db50a32e477f287c7e4602/azure_mgmt_marketplaceordering-0.2.1-py2.py3-none-any.whl
Collecting azure-mgmt-reservations==0.6.0
Downloading https://files.pythonhosted.org/packages/6a/88/0d5f230fab1a72e22f22defba9b2d11241ae229b179617950b1473a1d06f/azure_mgmt_reservations-0.6.0-py2.py3-none-any.whl
Collecting azure-cli-telemetry<2.0,>=1.0.2
Downloading https://files.pythonhosted.org/packages/51/32/cb88371e434a3249a538fa867da099a3a5d4e6821c126e3dc2882d7b1f20/azure_cli_telemetry-1.0.4-py2.py3-none-any.whl
Collecting azure-mgmt-cdn~=3.1
Downloading https://files.pythonhosted.org/packages/97/bf/c41e8985b4ffaaad2baaded1fb7b113433ae2d30d65c1a8c226e72284b72/azure_mgmt_cdn-3.1.0-py2.py3-none-any.whl (119kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 122kB 56.2MB/s
Collecting xmltodict~=0.12
Downloading https://files.pythonhosted.org/packages/28/fd/30d5c1d3ac29ce229f6bdc40bbc20b28f716e8b363140c26eff19122d8a5/xmltodict-0.12.0-py2.py3-none-any.whl
Collecting azure-mgmt-managedservices~=1.0
Downloading https://files.pythonhosted.org/packages/2e/6d/9e22f03eef41ac4c9f8a6cbe002d65e12f693cc7b93eff1b907918ed8f60/azure_mgmt_managedservices-1.0.0-py2.py3-none-any.whl
Collecting requests~=2.22
Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 17.1MB/s
Collecting azure-mgmt-eventgrid~=2.2
Downloading https://files.pythonhosted.org/packages/f9/d4/57cc437d1a3ec82feadc86fbd6485a3cc3c198d8717c171045e6fb98dd6d/azure_mgmt_eventgrid-2.2.0-py2.py3-none-any.whl (109kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 112kB 64.5MB/s
Collecting azure-keyvault~=1.1
Downloading https://files.pythonhosted.org/packages/80/37/e80f577570b32648c4b88c8c48a46501a4868ae4c8d905774fd02c2b01fc/azure_keyvault-1.1.0-py2.py3-none-any.whl (352kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 358kB 62.4MB/s
Collecting azure-mgmt-datalake-store~=0.5.0
Downloading https://files.pythonhosted.org/packages/ff/ac/5685cd06dc8b245bb6b894815764a14bd62245ba4579b45148682f510fdd/azure_mgmt_datalake_store-0.5.0-py2.py3-none-any.whl (88kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 92kB 19.0MB/s
Collecting fabric~=2.4
Downloading https://files.pythonhosted.org/packages/d7/cb/47feeb00dae857f0fbd1153a61e902e54ed77ccdc578b371a514a3959a19/fabric-2.5.0-py2.py3-none-any.whl (51kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 18.4MB/s
Collecting azure-mgmt-recoveryservices~=0.4.0
Downloading https://files.pythonhosted.org/packages/86/32/941ceae2e22e9b0116e4aa5a11b5547b400ff9d5a95188996fd300de9426/azure_mgmt_recoveryservices-0.4.0-py2.py3-none-any.whl (77kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 81kB 20.9MB/s
Collecting azure-mgmt-datamigration~=0.1.0
Downloading https://files.pythonhosted.org/packages/a6/68/aba86e698f24f25f70d9ee2b15a2ca0d71b822932ace8ba96e5beb12efdd/azure_mgmt_datamigration-0.1.0-py2.py3-none-any.whl (219kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 225kB 62.1MB/s
Collecting azure-mgmt-monitor~=0.7.0
Downloading https://files.pythonhosted.org/packages/84/40/f264e79683a0afbb413a2c284d9a4464558f8701714927d4a7e88ccd3643/azure_mgmt_monitor-0.7.0-py2.py3-none-any.whl (317kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 317kB 63.8MB/s
Collecting azure-mgmt-rdbms~=1.8
Downloading https://files.pythonhosted.org/packages/d2/94/c850c8257d19b08eb6b03154d6fe21938801562b4082d27985f54ebe9de4/azure_mgmt_rdbms-1.9.0-py2.py3-none-any.whl (259kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 266kB 34.3MB/s
Collecting azure-mgmt-security~=0.1.0
Downloading https://files.pythonhosted.org/packages/0e/ab/0cfab9760971775c27a4376332f73dd311e6742434a976f8f5e6eebf6557/azure_mgmt_security-0.1.0-py2.py3-none-any.whl (144kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 153kB 59.5MB/s
Collecting azure-mgmt-iothub~=0.8.2
Downloading https://files.pythonhosted.org/packages/39/92/7258f22eff0849cb06572ab01db3da4c809cb915915b9922a249fcad18c8/azure_mgmt_iothub-0.8.2-py2.py3-none-any.whl (135kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 143kB 44.7MB/s
Collecting mock~=2.0
Downloading https://files.pythonhosted.org/packages/e6/35/f187bdf23be87092bd0f1200d43d23076cee4d0dec109f195173fd3ebc79/mock-2.0.0-py2.py3-none-any.whl (56kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 19.2MB/s
Collecting azure-mgmt-netapp~=0.7.0
Downloading https://files.pythonhosted.org/packages/14/ab/930dcecb8847730d43099a6d9d358048d1c466f98abe3c380d8b14ca4e76/azure_mgmt_netapp-0.7.0-py2.py3-none-any.whl
Collecting azure-cli-command-modules-nspkg~=2.0
Downloading https://files.pythonhosted.org/packages/98/f6/783d1fa330d5e14fa89bae5fd8e5554e11adf1662a1cbb7a65da38e12a33/azure_cli_command_modules_nspkg-2.0.3-py2.py3-none-any.whl
Collecting jsmin~=2.2.2
Downloading https://files.pythonhosted.org/packages/17/73/615d1267a82ed26cd7c124108c3c61169d8e40c36d393883eaee3a561852/jsmin-2.2.2.tar.gz
Collecting azure-cli-core==2.0.77
Downloading https://files.pythonhosted.org/packages/0a/2a/a7574bbc2c3cc72ff8fb3316671f42aed5422b64f63791a29842698718d5/azure_cli_core-2.0.77-py2.py3-none-any.whl (127kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 133kB 59.0MB/s
Collecting scp~=0.13.2
Downloading https://files.pythonhosted.org/packages/4d/7a/3d76dc5ad8deea79642f50a572e1c057cb27e8b427f83781a2c05ce4e5b6/scp-0.13.2-py2.py3-none-any.whl
Collecting cryptography<3.0.0,>=2.3.1
Downloading https://files.pythonhosted.org/packages/c8/52/ad7f2cbe3b6e9340526dc401b38bb67c06160449446e15b0bf5f947fa168/cryptography-2.8-cp27-cp27mu-manylinux2010_x86_64.whl (2.3MB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 2.3MB 50.5MB/s
Collecting azure-mgmt-storage~=5.0.0
Downloading https://files.pythonhosted.org/packages/74/fc/d7d0348e6310361987f47b6d1e52963d2ddffde746493769f377c6533438/azure_mgmt_storage-5.0.0-py2.py3-none-any.whl (436kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 440kB 58.0MB/s
Collecting azure-mgmt-batch~=7.0
Downloading https://files.pythonhosted.org/packages/55/eb/d02bc4b187b163f7f29b2780354f3fc752d9ae3b25a3b85ba9485c6b0c92/azure_mgmt_batch-7.0.0-py2.py3-none-any.whl (81kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 81kB 18.0MB/s
Collecting azure-storage-blob<2.0.0,>=1.3.1
Downloading https://files.pythonhosted.org/packages/25/f4/a307ed89014e9abb5c5cfc8ca7f8f797d12f619f17a6059a6fd4b153b5d0/azure_storage_blob-1.5.0-py2.py3-none-any.whl (75kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 81kB 16.7MB/s
Collecting azure-mgmt-deploymentmanager~=0.1.0
Downloading https://files.pythonhosted.org/packages/ea/46/b5bf56331e8d949a0c93c0f2cf37e92c418afafd93bbb3e6a7f4c3329b0f/azure_mgmt_deploymentmanager-0.1.0-py2.py3-none-any.whl (90kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 92kB 18.2MB/s
Collecting azure-datalake-store~=0.0.45
Downloading https://files.pythonhosted.org/packages/27/9a/e7140775b3f8f011ef5d001c12a3519310094375671950105519e30bb12b/azure_datalake_store-0.0.48-py2.py3-none-any.whl (53kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 18.4MB/s
Collecting azure-mgmt-containerregistry~=3.0.0rc7
Downloading https://files.pythonhosted.org/packages/01/d5/9b36306dc35baf1557cc1ca56756b6774a054e0a74cdd5c8e9ac285c927c/azure_mgmt_containerregistry-3.0.0rc7-py2.py3-none-any.whl (421kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 430kB 57.8MB/s
Collecting pydocumentdb<3.0.0,>=2.0.1
Downloading https://files.pythonhosted.org/packages/58/b6/3534326d7854f3af6113ebf463da20d9f174a0f5b5a81cf31a1397f76bf4/pydocumentdb-2.3.5-py2-none-any.whl (93kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 102kB 26.1MB/s
Collecting azure-mgmt-compute~=10.0
Downloading https://files.pythonhosted.org/packages/30/7e/4a51ea1fac6ea9922152043067b12990dcf43f16d2d4249d7bf45f026284/azure_mgmt_compute-10.0.0-py2.py3-none-any.whl (1.4MB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 1.4MB 53.8MB/s
Collecting azure-mgmt-redis~=6.0
Downloading https://files.pythonhosted.org/packages/a1/7e/e958de2ef701104a35caabe4ad5d1588cd2d413271695924c586549d6a34/azure_mgmt_redis-6.0.0-py2.py3-none-any.whl (72kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 81kB 22.6MB/s
Collecting azure-multiapi-storage~=0.2.4
Downloading https://files.pythonhosted.org/packages/e7/ec/d8ee7f19a5e9c4e6756a5fef11908f14c6d2f3557a93029151392015f112/azure_multiapi_storage-0.2.4-py2.py3-none-any.whl (1.2MB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 1.2MB 57.6MB/s
Collecting psutil~=5.6
Downloading https://files.pythonhosted.org/packages/73/93/4f8213fbe66fc20cb904f35e6e04e20b47b85bee39845cc66a0bcf5ccdcb/psutil-5.6.7.tar.gz (448kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 450kB 55.6MB/s
Collecting azure-mgmt-sql~=0.15
Downloading https://files.pythonhosted.org/packages/9f/c4/c487b3f9172910216a1bd779d95667cc7850ec28e717d6a4cc00749f381a/azure_mgmt_sql-0.15.0-py2.py3-none-any.whl (348kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 358kB 53.7MB/s
Collecting azure-mgmt-authorization~=0.52.0
Downloading https://files.pythonhosted.org/packages/6b/b2/c0d62a3a91c13641e09af294c13fe16929f88dc5902718388cd9b292217f/azure_mgmt_authorization-0.52.0-py2.py3-none-any.whl (112kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 122kB 59.6MB/s
Collecting azure-mgmt-datalake-analytics~=0.2.1
Downloading https://files.pythonhosted.org/packages/b0/b9/4aafa00ce427d72f2da84c942ea5f2d0c636f5b1b94eee269bac3d498c13/azure_mgmt_datalake_analytics-0.2.1-py2.py3-none-any.whl (146kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 153kB 63.7MB/s
Collecting azure-cosmos>=3.0.2,~=3.0
Downloading https://files.pythonhosted.org/packages/de/a2/d36cd4aa92fcb4b6d15833e0320fc3d6067ff59815d095f2772bd036025e/azure_cosmos-3.1.2-py2-none-any.whl (140kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 143kB 36.8MB/s
Collecting azure-mgmt-loganalytics~=0.2
Downloading https://files.pythonhosted.org/packages/70/40/c9b77bf82916e963aa701fb396673f7ddc4cdab95524b6d2edf927b05630/azure_mgmt_loganalytics-0.2.0-py2.py3-none-any.whl (89kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 92kB 14.6MB/s
Collecting azure-mgmt-appconfiguration~=0.3.0
Downloading https://files.pythonhosted.org/packages/77/64/44e4e4bca9ec9aca1a27bd81e61b200b2b96a93500971f184e4af62ae83e/azure_mgmt_appconfiguration-0.3.0-py2.py3-none-any.whl
Collecting azure-mgmt-eventhub~=2.6
Downloading https://files.pythonhosted.org/packages/5a/cb/3822bcfa815f894c86a27845ae4160c0169722598399234cd6f77bb82347/azure_mgmt_eventhub-2.6.0-py2.py3-none-any.whl (189kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 194kB 60.7MB/s
Collecting azure-mgmt-msi~=0.2
Downloading https://files.pythonhosted.org/packages/ae/95/b451721e38ca0feddce03ee3ce86158e208d0150253bd371207a8df4e9c5/azure_mgmt_msi-0.2.0-py2.py3-none-any.whl
Collecting azure-mgmt-consumption~=2.0
Downloading https://files.pythonhosted.org/packages/11/f4/2db9557494dfb17ff3edeae5726981143a7baace17df3712b189e343bd8c/azure_mgmt_consumption-2.0.0-py2.py3-none-any.whl (46kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 51kB 17.1MB/s
Collecting azure-mgmt-imagebuilder~=0.2.1
Downloading https://files.pythonhosted.org/packages/02/04/09c44facee2a154b7cf624a735f03fac576d2d949cb091b7204d3d307f3d/azure_mgmt_imagebuilder-0.2.1-py2.py3-none-any.whl (66kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 71kB 20.1MB/s
Collecting azure-mgmt-signalr~=0.3.0
Downloading https://files.pythonhosted.org/packages/82/14/9870791f52fba120355385177a15fcacb34b77e67ca0f435f9f7e69ec098/azure_mgmt_signalr-0.3.0-py2.py3-none-any.whl (53kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 17.7MB/s
Collecting pytz==2019.1
Downloading https://files.pythonhosted.org/packages/3d/73/fe30c2daaaa0713420d0382b16fbb761409f532c56bdcc514bf7b6262bb6/pytz-2019.1-py2.py3-none-any.whl (510kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 512kB 57.4MB/s
Collecting azure-mgmt-maps~=0.1.0
Downloading https://files.pythonhosted.org/packages/e4/04/c64326729e842f3eab1fd527f7582e269e4b0e5b9324a4562edaf0371953/azure_mgmt_maps-0.1.0-py2.py3-none-any.whl
Collecting pygments~=2.4
Downloading https://files.pythonhosted.org/packages/be/39/32da3184734730c0e4d3fa3b2b5872104668ad6dc1b5a73d8e477e5fe967/Pygments-2.5.2-py2.py3-none-any.whl (896kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 901kB 46.2MB/s
Collecting azure-mgmt-advisor<3.0.0,>=2.0.1
Downloading https://files.pythonhosted.org/packages/12/52/5b8ff97a7056fd1d4458677e7628b81bb9c22013ec9a761e39d0e9d55498/azure_mgmt_advisor-2.0.1-py2.py3-none-any.whl
Collecting azure-mgmt-devtestlabs~=2.2
Downloading https://files.pythonhosted.org/packages/2f/93/a64abaede2fc6a52476af8ceab9cedb368c49e948d9385cbe7cd4ce5ffff/azure_mgmt_devtestlabs-2.2.0-py2.py3-none-any.whl (194kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 194kB 55.4MB/s
Collecting websocket-client~=0.56.0
Downloading https://files.pythonhosted.org/packages/29/19/44753eab1fdb50770ac69605527e8859468f3c0fd7dc5a76dd9c4dbd7906/websocket_client-0.56.0-py2.py3-none-any.whl (200kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 204kB 55.3MB/s
Collecting sshtunnel~=0.1.4
Downloading https://files.pythonhosted.org/packages/c5/5c/4b320d7ec4b0d5d4d6df1fdf66a5799625b3623d0ce4efe81719c6f8dfb3/sshtunnel-0.1.5.tar.gz (49kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 51kB 14.6MB/s
Collecting azure-mgmt-billing~=0.2
Downloading https://files.pythonhosted.org/packages/0f/24/5106287ea0f6562d965afb055e3c6c0da058f7844a70464e67bab56c6c4b/azure_mgmt_billing-0.2.0-py2.py3-none-any.whl
Collecting vsts-cd-manager>=1.0.2,~=1.0.0
Downloading https://files.pythonhosted.org/packages/fc/cd/29c798a92d5f7a718711e4beace03612c93ad7ec2121aea606d8abae38ee/vsts-cd-manager-1.0.2.tar.gz
Collecting azure-mgmt-cognitiveservices~=5.0.0
Downloading https://files.pythonhosted.org/packages/5d/d5/69bc1bac302704dc3e612347c5576c0a287a92a2ac3a5c0fc9bab0c83b9e/azure_mgmt_cognitiveservices-5.0.0-py2.py3-none-any.whl
Collecting azure-mgmt-relay~=0.1.0
Downloading https://files.pythonhosted.org/packages/00/f7/f5c72bd19829cfaf9f070ec294c901ad7f98835ba9560fdad652afb1071f/azure_mgmt_relay-0.1.0-py2.py3-none-any.whl
Collecting azure-mgmt-containerinstance~=1.4
Downloading https://files.pythonhosted.org/packages/fd/d1/d770050f20ad81b80f7eb41f89e1a5d841cf74bf41c7e1ff137c46f28a1e/azure_mgmt_containerinstance-1.5.0-py2.py3-none-any.whl (96kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 102kB 23.4MB/s
Collecting azure-mgmt-kusto~=0.3.0
Downloading https://files.pythonhosted.org/packages/d9/4f/4ef96c0bb0fec6eb7d0786a01f8f41851f10b0b26334992ba7e2b8a12c19/azure_mgmt_kusto-0.3.0-py2.py3-none-any.whl (73kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 81kB 18.6MB/s
Collecting azure-cli-nspkg>=2.0.0
Downloading https://files.pythonhosted.org/packages/86/79/57e09901b453ce18a13111cb72219b6bb05ca821dcb5c205380cf2a7edf2/azure_cli_nspkg-3.0.4-py2.py3-none-any.whl
Collecting paramiko<3.0.0,>=2.0.8
Downloading https://files.pythonhosted.org/packages/1c/d8/50243699d41d6eabd19efb86fb00d99f89580e5cb795b577a5c32ce39ae7/paramiko-2.7.0-py2.py3-none-any.whl (206kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 215kB 51.3MB/s
Collecting azure-mgmt-policyinsights~=0.3.1
Downloading https://files.pythonhosted.org/packages/28/9e/b9bba392f60d757f51db7ea6507d9e1c3672c19ac4ac32e868784ed18405/azure_mgmt_policyinsights-0.3.1-py2.py3-none-any.whl (76kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 81kB 17.6MB/s
Collecting azure-loganalytics~=0.1.0
Downloading https://files.pythonhosted.org/packages/54/e2/1d30270441a50efce1d52eb426710fc98269eb8bdac44ee966bbd07846da/azure_loganalytics-0.1.0-py2.py3-none-any.whl
Collecting azure-mgmt-iothubprovisioningservices~=0.2.0
Downloading https://files.pythonhosted.org/packages/84/ce/3500c731a5c5b31028e662aa41bc45f75301834a0c03adeacfe7ef7bd86e/azure_mgmt_iothubprovisioningservices-0.2.0-py2.py3-none-any.whl (60kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 18.5MB/s
Collecting azure-mgmt-sqlvirtualmachine~=0.4.0
Downloading https://files.pythonhosted.org/packages/06/a7/281d5a243a0b9aa0223e122b3401c20124e901b795b6bcdf3de84d3efed2/azure_mgmt_sqlvirtualmachine-0.4.0-py2.py3-none-any.whl (66kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 71kB 19.1MB/s
Collecting azure-batch~=8.0
Downloading https://files.pythonhosted.org/packages/e6/81/1787b8d36f3b90ef6c06fd47f27aaff248279e4c03856fba9c83b87c1ef7/azure_batch-8.0.0-py2.py3-none-any.whl (227kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 235kB 57.6MB/s
Collecting colorama~=0.4.1
Downloading https://files.pythonhosted.org/packages/4f/a6/728666f39bfff1719fc94c481890b2106837da9318031f71a8424b662e12/colorama-0.4.1-py2.py3-none-any.whl
Collecting azure-mgmt-resource~=4.0
Downloading https://files.pythonhosted.org/packages/f9/34/e29f97d24f55d6f0a70186acf5b0b3e7f9d87a444f08ad7d758020d5777f/azure_mgmt_resource-4.0.0-py2.py3-none-any.whl (657kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 665kB 48.4MB/s
Collecting azure-mgmt-recoveryservicesbackup~=0.4.0
Downloading https://files.pythonhosted.org/packages/e6/09/5be4d19ba84236a3c4a31ddbecc0fbb194cfe135c0efb1e293fe32a2788f/azure_mgmt_recoveryservicesbackup-0.4.0-py2.py3-none-any.whl (606kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 614kB 48.2MB/s
Collecting knack>=0.6.3,~=0.6
Downloading https://files.pythonhosted.org/packages/52/13/bde14df1dbf6ca4ccef2d8e7edd2ccefaa29f95843bf18b554d67ea16ef9/knack-0.6.3-py2.py3-none-any.whl (54kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 13.6MB/s
Collecting azure-mgmt-keyvault~=1.1
Downloading https://files.pythonhosted.org/packages/49/de/0d69aedae7c5f6428314640b65947203ab80409c12b5d4e66fb5b7a4182e/azure_mgmt_keyvault-1.1.0-py2.py3-none-any.whl (111kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 112kB 45.7MB/s
Collecting azure-mgmt-managementgroups~=0.1
Downloading https://files.pythonhosted.org/packages/95/e8/2bbe79c62ad2787944dd7ae4d06d60afb3967b5efc09ed14046919371b59/azure_mgmt_managementgroups-0.2.0-py2.py3-none-any.whl (59kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 15.4MB/s
Collecting azure-mgmt-network~=7.0.0
Downloading https://files.pythonhosted.org/packages/93/05/b904c59f0f5870ce058c1abf2a5f1598e643807ce2417bcabe59e11c4d61/azure_mgmt_network-7.0.0-py2.py3-none-any.whl (6.7MB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 6.7MB 54.7MB/s
Collecting urllib3[secure]~=1.18
Downloading https://files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl (125kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 133kB 53.8MB/s
Collecting pyOpenSSL>=17.1.0
Downloading https://files.pythonhosted.org/packages/9e/de/f8342b68fa9e981d348039954657bdf681b2ab93de27443be51865ffa310/pyOpenSSL-19.1.0-py2.py3-none-any.whl (53kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 12.6MB/s
Collecting azure-mgmt-trafficmanager~=0.51.0
Downloading https://files.pythonhosted.org/packages/b1/2d/2a95dd8e57fa0c96548f0c1b11936c9820a40344e39660e3aebd63796c26/azure_mgmt_trafficmanager-0.51.0-py2.py3-none-any.whl (58kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 14.9MB/s
Collecting azure-mgmt-applicationinsights~=0.1.1
Downloading https://files.pythonhosted.org/packages/30/61/1d95a5ef3a9119a0d375d8670129375515de20e20409612e9671c99bd19f/azure_mgmt_applicationinsights-0.1.1-py2.py3-none-any.whl (42kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 51kB 14.0MB/s
Collecting azure-mgmt-iotcentral~=1.0
Downloading https://files.pythonhosted.org/packages/13/e9/dc0ffbe4739d66d504e4f118bfcc6f0b59d04cf6eb2e14172c21cb348feb/azure_mgmt_iotcentral-1.0.0-py2.py3-none-any.whl
Collecting azure-mgmt-hdinsight~=1.1.0
Downloading https://files.pythonhosted.org/packages/49/78/a0722b88d3825b78ed09406b92bf36a0dd178085425ff2e869f6f10a068b/azure_mgmt_hdinsight-1.1.0-py2.py3-none-any.whl (48kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 51kB 7.9MB/s
Collecting azure-mgmt-cosmosdb~=0.8.0
Downloading https://files.pythonhosted.org/packages/e4/bb/82f98bdcbb9f66de18fc3891f39cc8b0749ec92aa24e9249a02ca3e69b83/azure_mgmt_cosmosdb-0.8.0-py2.py3-none-any.whl (73kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 81kB 21.7MB/s
Collecting azure-mgmt-media>=1.1.1,~=1.1
Downloading https://files.pythonhosted.org/packages/95/3f/57339eed3ba5cffd4f2a5980ce9db68e96171a265302e25991384185458a/azure_mgmt_media-1.1.1-py2.py3-none-any.whl (341kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 348kB 60.1MB/s
Collecting azure-mgmt-apimanagement>=0.1.0
Downloading https://files.pythonhosted.org/packages/af/50/6c514ad0850dbd371bdce481661cd4bbd61e569cc44478adf4dc92eeac3c/azure_mgmt_apimanagement-0.1.0-py2.py3-none-any.whl (542kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 542kB 58.8MB/s
Collecting azure-mgmt-botservice~=0.2.0
Downloading https://files.pythonhosted.org/packages/93/36/c60c52101257bc30338993a38c1db0e33561e4361a1ba521f91476e845ab/azure_mgmt_botservice-0.2.0-py2.py3-none-any.whl (109kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 112kB 38.0MB/s
Collecting azure-mgmt-search~=2.0
Downloading https://files.pythonhosted.org/packages/c9/18/fa4e0d541332c0ba6ef16beaa9b55f831436949e7d0981d5677dff2ddfb5/azure_mgmt_search-2.1.0-py2.py3-none-any.whl (41kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 51kB 15.5MB/s
Collecting azure-mgmt-servicefabric~=0.2.0
Downloading https://files.pythonhosted.org/packages/6e/06/fafe8b5d881cfa68927e61557c8419dcfacb93e07f4ab17cc60959707a53/azure_mgmt_servicefabric-0.2.0-py2.py3-none-any.whl (142kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 143kB 56.4MB/s
Collecting azure-mgmt-servicebus~=0.6.0
Downloading https://files.pythonhosted.org/packages/1e/8c/3e9479ed7344223399d3cf58aaea0679390a5dada659df41dbf32bc77f37/azure_mgmt_servicebus-0.6.0-py2.py3-none-any.whl (120kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 122kB 60.0MB/s
Collecting msrest>=0.5.0
Downloading https://files.pythonhosted.org/packages/27/b0/c34b3ea9b2ed74b800520fbefb312cdb7f05c20b8bd42e5e7662a5614f98/msrest-0.6.10-py2.py3-none-any.whl (82kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 92kB 21.6MB/s
Collecting azure-nspkg; python_version < "3.0" Downloading https://files.pythonhosted.org/packages/c2/95/af354f2f415d250dafe26a5d94230558aa8cf733a9dcbf0d26cd61f5a9b8/azure_nspkg-3.0.2-py2-none-any.whl Collecting azure-common~=1.1 Downloading https://files.pythonhosted.org/packages/00/55/a703923c12cd3172d5c007beda0c1a34342a17a6a72779f8a7c269af0cd6/azure_common-1.1.23-py2.py3-none-any.whl Collecting msrestazure<2.0.0,>=0.4.32
Downloading https://files.pythonhosted.org/packages/68/75/5cb56ca8cbc6c5fe476e4878c73f57a331edcf55e5d3fcb4a7377d7d659d/msrestazure-0.6.2-py2.py3-none-any.whl (40kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 40kB 4.2MB/s
Collecting azure-mgmt-nspkg; python_version < "3.0" Downloading https://files.pythonhosted.org/packages/a1/6e/464d039ec6184234b188d6a9d199e658cce86b38afe4db0e8edd1629f3f6/azure_mgmt_nspkg-3.0.2-py2-none-any.whl Collecting vsts Downloading https://files.pythonhosted.org/packages/ce/fa/4405cdb2a6b0476a94b24254cdfb1df7ff43138a91ccc79cd6fc877177af/vsts-0.1.25.tar.gz (847kB) |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 849kB 55.6MB/s Collecting jinja2 Downloading https://files.pythonhosted.org/packages/65/e0/eb35e762802015cab1ccee04e8a277b03f1d8e53da3ec3106882ec42558b/Jinja2-2.10.3-py2.py3-none-any.whl (125kB) |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 133kB 30.1MB/s Collecting portalocker~=1.2 Downloading https://files.pythonhosted.org/packages/91/db/7bc703c0760df726839e0699b7f78a4d8217fdc9c7fcb1b51b39c5a22a4e/portalocker-1.5.2-py2.py3-none-any.whl Collecting applicationinsights<0.12,>=0.11.1
Downloading https://files.pythonhosted.org/packages/a1/53/234c53004f71f0717d8acd37876e0b65c121181167057b9ce1b1795f96a0/applicationinsights-0.11.9-py2.py3-none-any.whl (58kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 8.6MB/s
Collecting certifi>=2017.4.17
Downloading https://files.pythonhosted.org/packages/b9/63/df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99/certifi-2019.11.28-py2.py3-none-any.whl (156kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 163kB 44.8MB/s
Collecting chardet<3.1.0,>=3.0.2
Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 143kB 50.2MB/s
Collecting idna<2.9,>=2.5
Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 12.1MB/s
Collecting azure-mgmt-datalake-nspkg>=2.0.0
Downloading https://files.pythonhosted.org/packages/76/e2/4271ab409ff3bac77ae2843c30590868db42715a75658f8a9da229b7ac98/azure_mgmt_datalake_nspkg-3.0.1-py2-none-any.whl
Collecting invoke<2.0,>=1.3
Downloading https://files.pythonhosted.org/packages/eb/ba/ef37aa6f629f7d09565fd7bfcf3ad429af248947f107e765ccd15e4f1c43/invoke-1.3.0-py2-none-any.whl (205kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 215kB 40.0MB/s
Collecting pbr>=0.11
Downloading https://files.pythonhosted.org/packages/7a/db/a968fd7beb9fe06901c1841cb25c9ccb666ca1b9a19b114d1bbedf1126fc/pbr-5.4.4-py2.py3-none-any.whl (110kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 112kB 55.1MB/s
Collecting funcsigs>=1; python_version < "3.3" Downloading https://files.pythonhosted.org/packages/69/cb/f5be453359271714c01b9bd06126eaf2e368f1fddfff30818754b5ac2328/funcsigs-1.0.2-py2.py3-none-any.whl Collecting argcomplete~=1.8 Downloading https://files.pythonhosted.org/packages/ae/8e/6b293f883fdbd29b9c8170db44bddff9e7de224d8cf1eb4287f69f1766e5/argcomplete-1.10.3-py2.py3-none-any.whl Collecting humanfriendly~=4.7 Downloading https://files.pythonhosted.org/packages/90/df/88bff450f333114680698dc4aac7506ff7cab164b794461906de31998665/humanfriendly-4.18-py2.py3-none-any.whl (73kB) |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 81kB 14.1MB/s Collecting PyJWT Downloading https://files.pythonhosted.org/packages/87/8b/6a9f14b5f781697e51259d81657e6048fd31a113229cf346880bb7545565/PyJWT-1.7.1-py2.py3-none-any.whl Collecting wheel==0.30.0 Downloading https://files.pythonhosted.org/packages/0c/80/16a85b47702a1f47a63c104c91abdd0a6704ee8ae3b4ce4afc49bc39f9d9/wheel-0.30.0-py2.py3-none-any.whl (49kB) |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 51kB 10.5MB/s Collecting jmespath Downloading https://files.pythonhosted.org/packages/83/94/7179c3832a6d45b266ddb2aac329e101367fbdb11f425f13771d27f225bb/jmespath-0.9.4-py2.py3-none-any.whl Collecting antlr4-python2-runtime; python_version < "3.0" Downloading https://files.pythonhosted.org/packages/2f/56/ce6877fb43f6da8764e7dac961aaaeef54bd0ecbded164f1fff0c824841e/antlr4-python2-runtime-4.7.2.tar.gz (111kB) |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 112kB 58.4MB/s Collecting enum34; python_version < "3.4" Downloading https://files.pythonhosted.org/packages/c5/db/e56e6b4bbac7c4a06de1c50de6fe1ef3810018ae11732a50f15f62c7d050/enum34-1.1.6-py2-none-any.whl Collecting futures; python_version < "3.0" Downloading https://files.pythonhosted.org/packages/d8/a6/f46ae3f1da0cd4361c344888f59ec2f5785e69c872e175a748ef6071cdb5/futures-3.3.0-py2-none-any.whl Collecting adal~=1.2 Downloading https://files.pythonhosted.org/packages/4f/b5/3ea9ae3d1096b9ff31e8f1846c47d49f3129a12464ac0a73b602de458298/adal-1.2.2-py2.py3-none-any.whl (53kB) |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 16.5MB/s Collecting pyasn1; python_version < "2.7.9" Downloading https://files.pythonhosted.org/packages/62/1e/a94a8d635fa3ce4cfc7f506003548d0a2447ae76fd5ca53932970fe3053f/pyasn1-0.4.8-py2.py3-none-any.whl (77kB) |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 81kB 21.4MB/s Collecting ndg-httpsclient; python_version < "2.7.9" Downloading https://files.pythonhosted.org/packages/bf/b2/26470fde7ff55169df8e071fb42cb1f83e22bd952520ab2b5c5a5edc2acd/ndg_httpsclient-0.5.1-py2-none-any.whl Collecting cffi!=1.11.3,>=1.8
Downloading https://files.pythonhosted.org/packages/93/5d/c4f950891251e478929036ca07b22f0b10324460c1d0a4434c584481db51/cffi-1.13.2-cp27-cp27mu-manylinux1_x86_64.whl (384kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 389kB 61.5MB/s
Collecting ipaddress; python_version < "3" Downloading https://files.pythonhosted.org/packages/c2/f8/49697181b1651d8347d24c095ce46c7346c37335ddc7d255833e7cde674d/ipaddress-1.0.23-py2.py3-none-any.whl Collecting azure-storage-common~=1.4 Downloading https://files.pythonhosted.org/packages/05/6c/b2285bf3687768dbf61b6bc085b0c1be2893b6e2757a9d023263764177f3/azure_storage_common-1.4.2-py2.py3-none-any.whl (47kB) |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 51kB 10.5MB/s Collecting pathlib2; python_version < "3.4" Downloading https://files.pythonhosted.org/packages/e9/45/9c82d3666af4ef9f221cbb954e1d77ddbb513faf552aea6df5f37f1a4859/pathlib2-2.3.5-py2.py3-none-any.whl Collecting python-dateutil Downloading https://files.pythonhosted.org/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl (227kB) |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 235kB 61.4MB/s Collecting bcrypt>=3.1.3
Downloading https://files.pythonhosted.org/packages/ad/36/9a0227d048e98409f012570f7bef8a8c2373b9c9c5dfbf82963cbae05ede/bcrypt-3.1.7-cp27-cp27mu-manylinux1_x86_64.whl (59kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 11.4MB/s
Collecting pynacl>=1.0.1
Downloading https://files.pythonhosted.org/packages/b3/25/e605574f24948a8a53b497744e93f061eb1dbe7c44b6465fc1c172d591aa/PyNaCl-1.3.0-cp27-cp27mu-manylinux1_x86_64.whl (762kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 768kB 46.6MB/s
Collecting tabulate
Downloading https://files.pythonhosted.org/packages/c4/41/523f6a05e6dc3329a5660f6a81254c6cd87e5cfb5b7482bae3391d86ec3a/tabulate-0.8.6.tar.gz (45kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 51kB 13.6MB/s
Collecting isodate>=0.6.0
Downloading https://files.pythonhosted.org/packages/9b/9f/b36f7774ff5ea8e428fdcfc4bb332c39ee5b9362ddd3d40d9516a55221b2/isodate-0.6.0-py2.py3-none-any.whl (45kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 51kB 14.3MB/s
Collecting requests-oauthlib>=0.5.0
Downloading https://files.pythonhosted.org/packages/a3/12/b92740d845ab62ea4edf04d2f4164d82532b5a0b03836d4d4e71c6f3d379/requests_oauthlib-1.3.0-py2.py3-none-any.whl
Collecting typing; python_version < "3.5" Downloading https://files.pythonhosted.org/packages/22/30/64ca29543375759dc589ade14a6cd36382abf2bec17d67de8481bc9814d7/typing-3.7.4.1-py2-none-any.whl Collecting MarkupSafe>=0.23
Downloading https://files.pythonhosted.org/packages/fb/40/f3adb7cf24a8012813c5edb20329eb22d5d8e2a0ecf73d21d6b85865da11/MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl
Collecting monotonic; python_version == "2.6" or python_version == "2.7" or python_version == "3.0" or python_version == "3.1" or python_version == "3.2"
Downloading https://files.pythonhosted.org/packages/ac/aa/063eca6a416f397bd99552c534c6d11d57f58f2e94c14780f3bbf818c4cf/monotonic-1.5-py2.py3-none-any.whl
Collecting pycparser
Downloading https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz (158kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 163kB 58.6MB/s
Collecting azure-storage-nspkg; python_version < "3.0" Downloading https://files.pythonhosted.org/packages/ba/f6/054ace7b01c6c21b3b95a83c3997f7d6539d939a2c08c4f27f779128a030/azure_storage_nspkg-3.1.0-py2.py3-none-any.whl Collecting scandir; python_version < "3.5" Downloading https://files.pythonhosted.org/packages/df/f5/9c052db7bd54d0cbf1bc0bb6554362bba1012d03e5888950a4f5c5dadc4e/scandir-1.10.0.tar.gz Collecting oauthlib>=3.0.0
Downloading https://files.pythonhosted.org/packages/05/57/ce2e7a8fa7c0afb54a0581b14a65b56e62b5759dbc98e80627142b8a3704/oauthlib-3.1.0-py2.py3-none-any.whl (147kB)
|¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 153kB 59.8MB/s
Building wheels for collected packages: pyyaml, jsondiff, azure-functions-devops-build, jsmin, psutil, sshtunnel, vsts-cd-manager, vsts, antlr4-python2-runtime, tabulate, pycparser, scandir
Building wheel for pyyaml (setup.py) … done
Created wheel for pyyaml: filename=PyYAML-5.2-cp27-cp27mu-linux_x86_64.whl size=45011 sha256=efcf559cf442ac05b9790b5e9398c87871cb005faeb7f0ab8f735ac11d0b5cab
Stored in directory: /tmp/tmpByb4x8/wheels/54/b7/c7/2ada654ee54483c9329871665aaf4a6056c3ce36f29cf66e67
Building wheel for jsondiff (setup.py) … done
Created wheel for jsondiff: filename=jsondiff-1.2.0-cp27-none-any.whl size=6541 sha256=5b2e6e32b0c5c886737551a69e16896bde9586291aad2316f7245013b924f6b8
Stored in directory: /tmp/tmpByb4x8/wheels/08/ad/e9/7815207aa5206fdead5c7b565c57dd8fd56ab559c847a7be3d
Building wheel for azure-functions-devops-build (setup.py) … done
Created wheel for azure-functions-devops-build: filename=azure_functions_devops_build-0.0.22-cp27-none-any.whl size=47220 sha256=5e1fc98caea021225a43bc9c8d951d2c42c498b84bbafc4842c23ae6604902b8
Stored in directory: /tmp/tmpByb4x8/wheels/14/18/b5/d1f1b8de7c9da60eb86de899c7c6a1e066a99e30dbe175444a
Building wheel for jsmin (setup.py) … done
Created wheel for jsmin: filename=jsmin-2.2.2-cp27-none-any.whl size=13934 sha256=6f453cfaf073f6eafd241517ccf10a961dedcc5ec7bddcbe548c0b6d53127a6a
Stored in directory: /tmp/tmpByb4x8/wheels/64/f4/de/9667d84f759289edf5442220997c6d4334637a6bb2a7b90f73
Building wheel for psutil (setup.py) … done
Created wheel for psutil: filename=psutil-5.6.7-cp27-cp27mu-linux_x86_64.whl size=258062 sha256=7967943777a3f5a40aa3a0ff9cff131112b521fb939874c3ac4df451c4b171ca
Stored in directory: /tmp/tmpByb4x8/wheels/52/41/b0/bf50409fe2b1d3b79afa3eed71b54b3e30fe5b695db2c7ba2e
Building wheel for sshtunnel (setup.py) … done
Created wheel for sshtunnel: filename=sshtunnel-0.1.5-py2.py3-none-any.whl size=23243 sha256=883607073275c08e18f1185717f8cfecfcbf774dd590715c0a337a65a3e97ad5
Stored in directory: /tmp/tmpByb4x8/wheels/e8/d2/38/b9791b7391f634099194ec6697fa671194f3353906d94c8f92
Building wheel for vsts-cd-manager (setup.py) … done
Created wheel for vsts-cd-manager: filename=vsts_cd_manager-1.0.2-cp27-none-any.whl size=26728 sha256=5a0942a5bdb24b2381ccdfb297810eab826301e378b0fd9e7eba859ea3e1733b
Stored in directory: /tmp/tmpByb4x8/wheels/11/cc/8b/16184f7bc7564f91951b5d46d6e32fa58c9587e2ce90861892
Building wheel for vsts (setup.py) … done
Created wheel for vsts: filename=vsts-0.1.25-cp27-none-any.whl size=2327603 sha256=fd196b6de5607f887a725264a677766d3ea0f4a0b071e92f4130c7053866aaee
Stored in directory: /tmp/tmpByb4x8/wheels/32/46/c5/608fc80ca42ee4d45f8bab04ff20c692a03a09479699374a5e
Building wheel for antlr4-python2-runtime (setup.py) … done
Created wheel for antlr4-python2-runtime: filename=antlr4_python2_runtime-4.7.2-cp27-none-any.whl size=140353 sha256=925340d46453bf71628d7e0c7b934d7a8d7f8101619c3ac76427dcc4399b9194
Stored in directory: /tmp/tmpByb4x8/wheels/75/13/df/b3dcf429fc0eb6091ffb7a77d4e930ccc3da729877cc32a7cf
Building wheel for tabulate (setup.py) … done
Created wheel for tabulate: filename=tabulate-0.8.6-cp27-none-any.whl size=23273 sha256=7f5e761e28f6ab0727570180a4848afc007eeaeaed2b99f543be61de8931f21b
Stored in directory: /tmp/tmpByb4x8/wheels/9c/9b/f4/eb243fdb89676ec00588e8c54bb54360724c06e7fafe95278e
Building wheel for pycparser (setup.py) … done
Created wheel for pycparser: filename=pycparser-2.19-py2.py3-none-any.whl size=111027 sha256=6432f903dfc9401a6893281dba24b7f8042466e5428f56dc3598908a845a58c9
Stored in directory: /tmp/tmpByb4x8/wheels/f2/9a/90/de94f8556265ddc9d9c8b271b0f63e57b26fb1d67a45564511
Building wheel for scandir (setup.py) … done
Created wheel for scandir: filename=scandir-1.10.0-cp27-cp27mu-linux_x86_64.whl size=36071 sha256=0148e2c5af1ec6bf4482542f99f6608afdfdd935806d492b18607ba903a86084
Stored in directory: /tmp/tmpByb4x8/wheels/91/95/75/19c98a91239878abbc7c59970abd3b4e0438a7dd5b61778335
Successfully built pyyaml jsondiff azure-functions-devops-build jsmin psutil sshtunnel vsts-cd-manager vsts antlr4-python2-runtime tabulate pycparser scandir
Installing collected packages: six, isodate, enum34, pycparser, cffi, ipaddress, cryptography, pyOpenSSL, idna, certifi, urllib3, chardet, requests, oauthlib, requests-oauthlib, typing, msrest, azure-nspkg, azure-common, PyJWT, python-dateutil, adal, msrestazure, azure-graphrbac, azure-mgmt-nspkg, azure-mgmt-containerservice, pyyaml, jsondiff, azure-mgmt-privatedns, azure-mgmt-web, azure-mgmt-dns, azure-mgmt-batchai, vsts, MarkupSafe, jinja2, azure-functions-devops-build, javaproperties, azure-mgmt-marketplaceordering, azure-mgmt-reservations, portalocker, azure-cli-nspkg, applicationinsights, azure-cli-telemetry, azure-mgmt-cdn, xmltodict, azure-mgmt-managedservices, azure-mgmt-eventgrid, azure-keyvault, azure-mgmt-datalake-nspkg, azure-mgmt-datalake-store, invoke, bcrypt, pynacl, paramiko, fabric, azure-mgmt-recoveryservices, azure-mgmt-datamigration, azure-mgmt-monitor, azure-mgmt-rdbms, azure-mgmt-security, azure-mgmt-iothub, pbr, funcsigs, mock, azure-mgmt-netapp, azure-cli-command-modules-nspkg, jsmin, colorama, argcomplete, monotonic, humanfriendly, azure-mgmt-resource, wheel, jmespath, antlr4-python2-runtime, futures, tabulate, pygments, knack, pyasn1, ndg-httpsclient, azure-cli-core, scp, azure-mgmt-storage, azure-mgmt-batch, azure-storage-nspkg, azure-storage-common, azure-storage-blob, azure-mgmt-deploymentmanager, scandir, pathlib2, azure-datalake-store, azure-mgmt-containerregistry, pydocumentdb, azure-mgmt-compute, azure-mgmt-redis, azure-multiapi-storage, psutil, azure-mgmt-sql, azure-mgmt-authorization, azure-mgmt-datalake-analytics, azure-cosmos, azure-mgmt-loganalytics, azure-mgmt-appconfiguration, azure-mgmt-eventhub, azure-mgmt-msi, azure-mgmt-consumption, azure-mgmt-imagebuilder, azure-mgmt-signalr, pytz, azure-mgmt-maps, azure-mgmt-advisor, azure-mgmt-devtestlabs, websocket-client, sshtunnel, azure-mgmt-billing, vsts-cd-manager, azure-mgmt-cognitiveservices, azure-mgmt-relay, azure-mgmt-containerinstance, azure-mgmt-kusto, azure-mgmt-policyinsights, azure-loganalytics, azure-mgmt-iothubprovisioningservices, azure-mgmt-sqlvirtualmachine, azure-batch, azure-mgmt-recoveryservicesbackup, azure-mgmt-keyvault, azure-mgmt-managementgroups, azure-mgmt-network, azure-mgmt-trafficmanager, azure-mgmt-applicationinsights, azure-mgmt-iotcentral, azure-mgmt-hdinsight, azure-mgmt-cosmosdb, azure-mgmt-media, azure-mgmt-apimanagement, azure-mgmt-botservice, azure-mgmt-search, azure-mgmt-servicefabric, azure-mgmt-servicebus, azure-cli
Found existing installation: wheel 0.33.6
Uninstalling wheel-0.33.6:
Successfully uninstalled wheel-0.33.6
Successfully installed MarkupSafe-1.1.1 PyJWT-1.7.1 adal-1.2.2 antlr4-python2-runtime-4.7.2 applicationinsights-0.11.9 argcomplete-1.10.3 azure-batch-8.0.0 azure-cli-2.0.77 azure-cli-command-modules-nspkg-2.0.3 azure-cli-core-2.0.77 azure-cli-nspkg-3.0.4 azure-cli-telemetry-1.0.4 azure-common-1.1.23 azure-cosmos-3.1.2 azure-datalake-store-0.0.48 azure-functions-devops-build-0.0.22 azure-graphrbac-0.60.0 azure-keyvault-1.1.0 azure-loganalytics-0.1.0 azure-mgmt-advisor-2.0.1 azure-mgmt-apimanagement-0.1.0 azure-mgmt-appconfiguration-0.3.0 azure-mgmt-applicationinsights-0.1.1 azure-mgmt-authorization-0.52.0 azure-mgmt-batch-7.0.0 azure-mgmt-batchai-2.0.0 azure-mgmt-billing-0.2.0 azure-mgmt-botservice-0.2.0 azure-mgmt-cdn-3.1.0 azure-mgmt-cognitiveservices-5.0.0 azure-mgmt-compute-10.0.0 azure-mgmt-consumption-2.0.0 azure-mgmt-containerinstance-1.5.0 azure-mgmt-containerregistry-3.0.0rc7 azure-mgmt-containerservice-8.0.0 azure-mgmt-cosmosdb-0.8.0 azure-mgmt-datalake-analytics-0.2.1 azure-mgmt-datalake-nspkg-3.0.1 azure-mgmt-datalake-store-0.5.0 azure-mgmt-datamigration-0.1.0 azure-mgmt-deploymentmanager-0.1.0 azure-mgmt-devtestlabs-2.2.0 azure-mgmt-dns-2.1.0 azure-mgmt-eventgrid-2.2.0 azure-mgmt-eventhub-2.6.0 azure-mgmt-hdinsight-1.1.0 azure-mgmt-imagebuilder-0.2.1 azure-mgmt-iotcentral-1.0.0 azure-mgmt-iothub-0.8.2 azure-mgmt-iothubprovisioningservices-0.2.0 azure-mgmt-keyvault-1.1.0 azure-mgmt-kusto-0.3.0 azure-mgmt-loganalytics-0.2.0 azure-mgmt-managedservices-1.0.0 azure-mgmt-managementgroups-0.2.0 azure-mgmt-maps-0.1.0 azure-mgmt-marketplaceordering-0.2.1 azure-mgmt-media-1.1.1 azure-mgmt-monitor-0.7.0 azure-mgmt-msi-0.2.0 azure-mgmt-netapp-0.7.0 azure-mgmt-network-7.0.0 azure-mgmt-nspkg-3.0.2 azure-mgmt-policyinsights-0.3.1 azure-mgmt-privatedns-0.1.0 azure-mgmt-rdbms-1.9.0 azure-mgmt-recoveryservices-0.4.0 azure-mgmt-recoveryservicesbackup-0.4.0 azure-mgmt-redis-6.0.0 azure-mgmt-relay-0.1.0 azure-mgmt-reservations-0.6.0 azure-mgmt-resource-4.0.0 azure-mgmt-search-2.1.0 azure-mgmt-security-0.1.0 azure-mgmt-servicebus-0.6.0 azure-mgmt-servicefabric-0.2.0 azure-mgmt-signalr-0.3.0 azure-mgmt-sql-0.15.0 azure-mgmt-sqlvirtualmachine-0.4.0 azure-mgmt-storage-5.0.0 azure-mgmt-trafficmanager-0.51.0 azure-mgmt-web-0.42.0 azure-multiapi-storage-0.2.4 azure-nspkg-3.0.2 azure-storage-blob-1.5.0 azure-storage-common-1.4.2 azure-storage-nspkg-3.1.0 bcrypt-3.1.7 certifi-2019.11.28 cffi-1.13.2 chardet-3.0.4 colorama-0.4.1 cryptography-2.8 enum34-1.1.6 fabric-2.5.0 funcsigs-1.0.2 futures-3.3.0 humanfriendly-4.18 idna-2.8 invoke-1.3.0 ipaddress-1.0.23 isodate-0.6.0 javaproperties-0.5.1 jinja2-2.10.3 jmespath-0.9.4 jsmin-2.2.2 jsondiff-1.2.0 knack-0.6.3 mock-2.0.0 monotonic-1.5 msrest-0.6.10 msrestazure-0.6.2 ndg-httpsclient-0.5.1 oauthlib-3.1.0 paramiko-2.7.0 pathlib2-2.3.5 pbr-5.4.4 portalocker-1.5.2 psutil-5.6.7 pyOpenSSL-19.1.0 pyasn1-0.4.8 pycparser-2.19 pydocumentdb-2.3.5 pygments-2.5.2 pynacl-1.3.0 python-dateutil-2.8.1 pytz-2019.1 pyyaml-5.2 requests-2.22.0 requests-oauthlib-1.3.0 scandir-1.10.0 scp-0.13.2 six-1.13.0 sshtunnel-0.1.5 tabulate-0.8.6 typing-3.7.4.1 urllib3-1.25.7 vsts-0.1.25 vsts-cd-manager-1.0.2 websocket-client-0.56.0 wheel-0.30.0 xmltodict-0.12.0
-- Executing: ['/opt/azure/lib/azure-cli/bin/pip', 'install', '--cache-dir', '/tmp/tmpByb4x8', '--upgrade', '--force-reinstall', 'azure-nspkg', 'azure-mgmt-nspkg']
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting azure-nspkg
Using cached https://files.pythonhosted.org/packages/c2/95/af354f2f415d250dafe26a5d94230558aa8cf733a9dcbf0d26cd61f5a9b8/azure_nspkg-3.0.2-py2-none-any.whl
Collecting azure-mgmt-nspkg
Using cached https://files.pythonhosted.org/packages/a1/6e/464d039ec6184234b188d6a9d199e658cce86b38afe4db0e8edd1629f3f6/azure_mgmt_nspkg-3.0.2-py2-none-any.whl
Installing collected packages: azure-nspkg, azure-mgmt-nspkg
Found existing installation: azure-nspkg 3.0.2
Uninstalling azure-nspkg-3.0.2:
Successfully uninstalled azure-nspkg-3.0.2
Found existing installation: azure-mgmt-nspkg 3.0.2
Uninstalling azure-mgmt-nspkg-3.0.2:
Successfully uninstalled azure-mgmt-nspkg-3.0.2
Successfully installed azure-mgmt-nspkg-3.0.2 azure-nspkg-3.0.2
-- The executable is available at '/opt/azure/bin/az'.
-- Created tab completion file at '/opt/azure/lib/azure-cli/az.completion'

6. It will prompt you to update the command search path. The script could automatically update for the current user.

===> Modify profile to update your $PATH and enable shell/tab completion now? (Y/n): y
 ===> Enter a path to an rc file to update (leave blank to use '/root/.bashrc'):
 -- Backed up '/root/.bashrc' to '/root/.bashrc.backup'
 -- Installation successful.
 -- Run the CLI with /opt/azure/bin/az --help
 [root@UA-RHEL files]#

We have successfully installed Azure CLI on Redhat Linux/ CentOS. In the upcoming article, we will see how to authenticate Azure CLI in various methods.

References:

The post Microsoft Azure – Install and Configure Azure CLI on Redhat/CentOS appeared first on UnixArena.

Viewing all 429 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>