Giter Site home page Giter Site logo

rancher-on-simplivity's Introduction

Rancher on HPE SimpliVity

The Reference Configuration for Rancher on HPE SimpliVity is part of an overall solution from Hewlett Packard Enterprise. The solution playbooks deploy Rancher on a highly available Kubernetes admin cluster along with a number of supporting nodes external to the cluster, for load balancing and DHCP services. The playbooks also deploy an example user cluster with optional CSI storage.

Deployment guide

The deployment guide is available at https://hewlettpackard.github.io/Rancher-on-SimpliVity/MVI1/.

rancher-on-simplivity's People

Contributors

chris4474 avatar daveolker avatar douglamoureux avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rancher-on-simplivity's Issues

Jinja2 templates gets u' ' appended to lists when playbooks are executed on Unicode hosts

This issue occurs in the vspherevm role templates, user-data.j2 and network-config.j2 files. On Unicode hosts, when ansible/python render these files, all the array/list values gets wrapped between u' '. Examples:

The following list variables:

dns_servers: ['10.10.173.1','10.10.173.31']               # list of DNS servers
dns_suffixes: ['am2.cloudra.local','hpe.org']       # list of DNS suffixes

Results as in the rendered template:

     nameservers:
       search: [u'am2.cloudra.local', u'hpe.org']
       addresses: [u'10.10.173.1', u'10.10.173.31']

The same occurs with ntp_servers variable in user-data.j2 template.

A possible solution, as suggested at https://stackoverflow.com/questions/41521138/ansible-template-adds-u-to-array-in-template, is to apply a filter with list | join on jinja2 template.

set no_proxy for govc when checking credentials in pre-checks provision

issue:
If you are using proxy variables, your vcenter hostname/ip address should be part of no_proxy, otherwise govc tries to go through proxy and fails to connect.

The task "Verify vCenter Credentials" ( roles/pre-checks/tasks/provision.yml) failed when govc tried to connect to my vcenter address.

Possible solution:
set no_proxy in the roles/pre-checks/tasks/provision.yml with below code:

  • name: Check if proxy is difined or not.
    set_fact:
    env: {}
    when: proxy is not defined

  • name: Ensure no_proxy is set for local adddress.
    set_fact:
    env:
    no_proxy: "{{ proxy.except }}"
    when: proxy is defined

Propose to change wording of SimpliVity appliance to SimpliVity OVC

In this write-up, the terms appliance can also interpreted to the nodes IP address (ESXo) to the fact simplivity is an appliance

HPE SimpliVity configuration
To take advantage of functionality that is specific to HPE SimpliVity (as opposed to core VMware functionality), you need to identify the IP address of each OmniStack appliance in your HPE SimpliVity cluster. In the group_vars/all/vars.yml configuration file, add an array of addresses using the simplivity_appliances variable as shown in the following example:

missing instruction to create the /home/rancher/kits

Error when I ran the pre-checks:

TASK [pre-checks : Download govc] ***************************************************************************************************************************************************************
Sunday 16 August 2020 14:14:09 -0400 (0:00:00.014) 0:00:00.423 *********
failed: [localhost] (item={'url': 'https://github.com/vmware/govmomi/releases/download/v0.22.1/govc_linux_amd64.gz', 'dest': '/home/rancher/kits/govc.gz', 'mode': 644}) => {"ansible_loop_var": "item", "changed": false, "checksum_dest": null, "checksum_src": "0579871b00a2112fb7c5d1a92a4cefe1322bd74e", "dest": "/home/rancher/kits/govc.gz", "elapsed": 5, "item": {"dest": "/home/rancher/kits/govc.gz", "mode": 644, "url": "https://github.com/vmware/govmomi/releases/download/v0.22.1/govc_linux_amd64.gz"}, "msg": "Destination /home/rancher/kits does not exist", "src": "/home/rancher/.ansible/tmp/ansible-tmp-1597601649.7717905-51431-204747156615279/tmpfylgja57", "url": "https://github.com/vmware/govmomi/releases/download/v0.22.1/govc_linux_amd64.gz"}

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

add .vault_pass file to .gitignore

Issue:
I think it is good idea to add .vault_pass file to .gitignore.

Reason:
Whenever someone tests playbooks with different credentails, the changes to vault_passfile are local not meant to check them back into repo. User shouldn't be checking this file. During PR, it can be avoided if this file is added to .gitignore

missing package 'PyVmomi' for vcenter_folder module

Issue:
'PyVmomi' python package is not installed. This package is needed for ansible module 'vcenter_folder' ( ref : https://docs.ansible.com/ansible/latest/modules/vcenter_folder_module.html)

impacted playbook:
playbooks/prepare.yml -> playbooks/roles/prepare/tasks/provision.yml

error:

TASK [prepare : create VM Folders] *********************************************
Monday 18 May 2020 14:35:06 +0000 (0:00:03.048) 0:00:13.506 ************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ModuleNotFoundError: No module named 'pyVim'
failed: [localhost] (item=hpe) => {"ansible_loop_var": "item", "changed": false, "item": "hpe", "msg": "Failed to import the required Python library (PyVmomi) on anthosseed's Python /usr/bin/python3. Please read module documentation and install in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter"}
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ModuleNotFoundError: No module named 'pyVim'
failed: [localhost] (item=hpeRancher) => {"ansible_loop_var": "item", "changed": false, "item": "hpeRancher", "msg": "Failed to import the required Python library (PyVmomi) on anthosseed's Python /usr/bin/python3. Please read module documentation and install in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter"}

Possible solution:
We can add below task to pre-checks role.

  • name: Ensure dependency packages are installed
    delegate_to: localhost
    become: true
    pip:
    name: "{{ packages }}"
    vars:
    packages:
    • PyVmomi
      environment: "{{ env }}"

information about vault for precheck is not clear

Instead:
$ cd ~/Rancher-on-SimpliVity
$ ansible-playbook -i hosts playbooks/pre-checks.yml --vault-password-file .vault_pass

I have to use this to make things works:
[rancher@localhost Rancher-on-SimpliVity]$ ansible-playbook -i hosts playbooks/pre-checks.yml --vault-password-file ./group_vars/all/vault.yml

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.