Giter VIP home page Giter VIP logo

vmware-archive / lightwave Goto Github PK

View Code? Open in Web Editor NEW
320.0 58.0 101.0 49.92 MB

Identity services for traditional infrastructure, applications and containers.

License: Other

HTML 1.37% Makefile 0.52% C 51.66% C++ 0.84% Shell 1.33% Java 30.58% Python 0.09% Batchfile 0.03% C# 10.79% CSS 0.10% JavaScript 1.03% M4 0.16% Go 0.74% TypeScript 0.60% Ruby 0.01% Dockerfile 0.05% Rich Text Format 0.09% Handlebars 0.01%

lightwave's Introduction

Build Status

What is Lightwave

Project Lightwave is an open source project comprised of enterprise-grade, identity and access management services targeting critical security, governance, and compliance challenges for Cloud-Native Apps within the enterprise. Through integration with Project Photon, Project Lightwave can provide security and governance for container workloads. Project Lightwave can also serve a variety of use cases such as single sign-on, authentication, authorization and certificate authority, as well as certificate key management services across the entire infrastructure and application stack. Project Lightwave is based on a production quality code and an enterprise-grade architecture that is multi-tenant, scalable, and highly available multi master replication topology.

Project Lightwave is made up of the following key identity infrastructure elements:

  • Lightwave Directory Service - standards based, multi-tenant, multi-master, highly scalable LDAP v3 directory service enables an enterprise’s infrastructure to be used by the most-demanding applications as well as by multiple teams.
  • Lightwave Certificate Authority - directory integrated certificate authority helps to simplify certificate-based operations and key management across the infrastructure.
  • Lightwave Certificate Store - endpoint certificate store to store certificate credentials.
  • Lightwave Authentication Services - cloud authentication services with support for Kerberos, OAuth 2.0/OpenID Connect, SAML and WSTrust enable interoperability with other standards-based technologies in the data center.
  • Lightwave Domain Name Services - directory integrated domain name service to ensure Kerberos Authentication to the Directory Service and Authentication Service (STS). It also support for site-affinity using SRV records as well as DNS Forwarders.

Dependencies

Lightwave uses following existing open source packages.

  1. OpenLDAP

OpenLDAP is used for the LDAP server protocol head and the OpenLDAP Lightning MDB embedded database is used as the underlying LDAP store

  1. Heimdal Kerberos

The Heimdal Kerberos stack is used as the Kerberos protocol head.

  1. DCE/RPC

DCE/RPC is used as the control infrastructure for configuration of the Lightwave LDAP directory service

  1. Likewise Open

The Likewise Open stack is used for its service control infrastructure, its registry infrastructure and its NT Security Descriptor support. Likewise Open also provides a easy mechanism to provide ssh support for Lightwave clients The first three packages are co-located within the Lightwave project. The Likewise Open project is a separate project and needs to be built from a separate git repository. A binary RPM is also available, please see instructions below to add the repository.

Source code

git clone ssh://[email protected]/vmware/lightwave.git

Build

These build instructions are to build Lightwave on VMware's Photon Linux distribution. (See wiki for building on other platforms)

  1. Clone lightwave git repository onto your Photon (Full) installation.

  2. Ensure likewise-open-devel-6.2..x86_64.rpm is installed on your Photon system.

  3. Run ./build_photon.sh* in [workspace]/build

  4. As part of a successful build, the following RPMs should be created in the [workspace]/build/stage directory

    1. lightwave-1.3.0-0.x86_64.rpm

    2. lightwave-client-1.3.0-0.x86_64.rpm

    3. lightwave-devel-1.3.0-0.x86_64.rpm

    4. lightwave-post-1.3.0-0.x86_64.rpm

    5. lightwave-mutentca-1.3.0-0.x86_64.rpm

    6. lightwave-server-1.3.0-0.x86_64.rpm

Deployment

A Lightwave platform comprises of Lightwave Domain Controllers and Lightwave Domain Clients.

Pre-built lightwave binaries

Pre-built binaries for Lightwave are available through the following YUM repositories that can be configured on your Photon deployment.

After the following YUM repositories have been configured, it should be possible to install the Lightwave Domain Controller and Lightwave Clients using "tdnf install vmware-lightwave-server" and "tdnf install vmware-lightwave-clients" respectively.

Note : After configuring the following YUM repositories, please disable the photon-iso.repo; this is achieved by setting "enabled=0" in /etc/yum.repos.d/photon-iso.repo.

Lightwave YUM repository

Create the file "/etc/yum.repos.d/lightwave.repo" with the following contents.

For photon 1.0

[lightwave]
name=VMware Lightwave 1.0(x86_64)
baseurl=https://dl.bintray.com/vmware/lightwave
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
gpgcheck=0
enabled=1
skip_if_unavailable=True

For photon 2.0

[lightwave]
name=VMware Lightwave for Photon 2.0(x86_64)
baseurl=https://vmware.bintray.com/lightwave-dev/photon_2.0/master
gpgcheck=0
enabled=1
skip_if_unavailable=True
EOM

Photon Extras YUM repository

Create the file "/etc/yum.repos.d/photon-extras.repo" with the following contents.

For photon 1.0

[photon-extras]
name=VMware Photon Extras 1.0(x86_64)
baseurl=https://dl.bintray.com/vmware/photon_extras
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
gpgcheck=0
enabled=1
skip_if_unavailable=True

For photon 2.0

[photon-extras]
name=VMware Photon Extras 2.0(x86_64)
baseurl=https://dl.bintray.com/vmware/photon_extras_$releasever_$basearch
gpgkey=file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY
gpgcheck=1
enabled=1
skip_if_unavailable=True

Setting up a Lightwave Domain Controller

You must first install the following packages on your Photon instance

  1. lightwave-client
  2. lightwave-server
  3. lightwave

For installing these simply execute the following tdnf commands:

For photon 1.0

tdnf makecache
tdnf install lightwave-client lightwave lightwave-server

For photon 2.0

tdnf makecache
tdnf install lightwave-client-1.3.1 lightwave-1.3.1 lightwave-server-1.3.1

This should pull all required depencies for lightwave.

Instantiating a domain controller

Set up the hostname for the instance

This is step is required for every lightwave node. Edit the /etc/hosts file to look like given below: NOTE You should replace the variables with appropriate values as they may not be set by default on a fresh PhotonOS install.

echo -e "127.0.0.1\tlocalhost" > /etc/hosts
echo -e "${VM_IP}\t${VM_HOSTNAME}.${VM_DOMAIN_NAME} ${VM_HOSTNAME}" >> /etc/hosts
hostnamectl set-hostname --static ${VM_HOSTNAME}

Note that the VM_DOMAIN_NAME can be chosen for the first server and should be the same for all partner nodes in a cluster.

Standalone mode (this is the first replica in a new domain)
/opt/vmware/bin/configure-lightwave-server --password <password>
Partner mode (this is a new replica in an existing domain)
/opt/vmware/bin/configure-lightwave-server --password <password> \
 --server <hostname or ip-address of partner instance>

Notes:

  1. The password specified for the domain administrator must be at least 8 characters, include an upper case letter, a lower case letter, a digit and a special character.

  2. Make sure to assign a static ip address or a dhcp-address with a reservation to the system before promoting it to be a domain controller.

Setting up a Lightwave Domain Client

The following packages are required to join the Photon system to the Lightwave Domain.

  1. lightwave-client-1.3.0-0.x86_64.rpm

If using the YUM repositories for the pre-built binaries, install the Lightwave Domain Client using "tdnf install vmware-lightwave-clients".

Joining a system to a Lightwave domain

/opt/vmware/bin/domainjoin join <domain hostname>

Contributing

You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can. If you wish to contribute code and you have not signed our contributor license agreement (CLA), our bot will update the issue when you open a Pull Request. For any questions about the CLA process, please refer to our FAQ.

Before you start to code, we recommend discussing your plans through a GitHub issue or discuss it first with the official project maintainers via the #Lightwave Slack Channel, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.

License

Lightwave is available under the Apache 2 license.

lightwave's People

Contributors

agormley avatar aishu avatar aizurov-vmw avatar araghavanvmw avatar asakhardande avatar balajiboggaram avatar balajiboggram avatar dhanashreea avatar dheerajsshetty avatar divyamehta avatar dthaluru avatar fang888 avatar fjalia avatar harishspqr avatar kunalshah1993 avatar kyoungkwon avatar mpotapova-vmw avatar neeharikakondipati25 avatar nimishbhonsale-vmware avatar numberer6 avatar prakasharumugamvmware avatar psvaidya avatar psvaidya-vm avatar schellappan avatar snambakam avatar sruo avatar ssalley avatar ssamrit-vmw avatar tvs avatar wfu8 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lightwave's Issues

2 directories not created during install

Describe the bug
Upon installing lightwave (from photon-updates repo, on photonOS 2), the log contains errors:

Dec 28 04:09:17 dc01 vmafdd[4017]: t@140141993535232: VecsSrvFlushRootCertificate Failed to flush trusted root to download directory, 2 Dec 28 03:46:10 dc01 vmafdd[4017]: t@140142001927936: ERROR! [VmAfdIpcTriggerRootCertsRefresh] is returning [2] Dec 28 03:46:10 dc01 vmafdd[4017]: t@140142001927936: VecsSrvFlushMachineSslCertificate returning 2 Dec 28 03:46:10 dc01 vmafdd[4017]: t@140142001927936: VecsSrvFlushCrl Failed to flush CRL to download directory, 2 Dec 28 03:46:10 dc01 vmafdd[4017]: t@140142001927936: [Error - 4312, ../../../../vmafd/server/vmafd/rootfetch.c:684] Dec 28 03:46:10 dc01 vmafdd[4017]: t@140142001927936: VecsSrvFlushCrl Failed to flush CRL to download directory, 2 Dec 28 03:46:10 dc01 vmafdd[4017]: t@140142001927936: VecsSrvFlushRootCertificate Failed to flush trusted root to download directory, 2

There are other errors pretaining to Root certificates, such as:

Dec 28 04:11:31 dc01 vmafdd[4017]: t@140142001927936: ERROR! [VmAfdIpcTriggerRootCertsRefresh] is returning [2] Dec 28 04:11:31 dc01 vmafdd[4017]: t@140142001927936: VecsSrvFlushMachineSslCertificate returning 2 Dec 28 04:11:31 dc01 vmafdd[4017]: t@140142001927936: VecsSrvFlushCrl Failed to flush CRL to download directory, 2 Dec 28 04:11:31 dc01 vmafdd[4017]: t@140142001927936: VecsSrvFlushCrl Failed to flush CRL to download directory, 2 Dec 28 04:11:31 dc01 vmafdd[4017]: t@140142001927936: VecsSrvFlushRootCertificate Failed to flush trusted root to download directory, 2

and

Dec 27 07:33:31 dc01 vmafdd[30440]: t@140631775106816: ERROR! [VmAfdIpcTriggerRootCertsRefresh] is returning [2] Dec 27 07:33:31 dc01 vmafdd[30440]: t@140631775106816: VecsSrvFlushMachineSslCertificate returning 2 Dec 27 07:33:31 dc01 vmafdd[30440]: t@140631775106816: VecsSrvFlushCrl Failed to flush CRL to download directory, 2 Dec 27 07:33:31 dc01 vmafdd[30440]: t@140631775106816: VecsSrvFlushCrl Failed to flush CRL to download directory, 2 Dec 27 07:33:31 dc01 vmafdd[30440]: t@140631775106816: VecsSrvFlushRootCertificate Failed to flush trusted root to download directory, 2

My interpretation of these errors is that the CRL, Root certs and Machine cert can't be saved to disk.

This can be reproduced at will by running:

vecs-cli force-refresh --server dc01 --upn Administrator

Impact

  • Low - Not really in your way but annoyance -- not sure
  • Medium - Can be worked around
  • High - Blocker

Expected behavior
I would expect that the CRL could be flushed to disk.

Observed behavior
CRL is not flushed to disk.

To Reproduce
Steps to reproduce the behavior:

  1. tail the log file (journalctl -f)
  2. execute: `vecs-cli force-refresh --server --upn
  3. See error

Environment:

  • OS: VMware Photon OS 2.0, PHOTON_BUILD_NUMBER=0922243
  • Lightwave Version: 1.3.1.7-1.ph2
  • Likewise version: 6.2.11.4-4.ph2

Additional context
I have been able to eliminate the error by manually creating the following directories:

/etc/vmware-vpx/docRoot/certs
^ this one eliminates the errors about CRL and Root Certs

/etc/vmware/vmware-vmafd
^ this one eliminates the errors about machine-ssl.crt

There remains one error. I don't know if it's related or not.

vmafdd[24656]: t@140186877519616: [Error - 4312, ../../../../vmafd/server/vmafd/rootfetch.c:684]

Error Promote Lightwave with Secure Token Service Installation - Failed

Hi,

I'm first time for Installing and promote vmware lightwave, I found error after promoting lightwave about Secure Token Service installing failed

root@dc01 [ ~ ]# /opt/vmware/bin/configure-lightwave-server --domain domain.com --password **********
Deploying in standalone mode...
20180131040528:INFO:Setting up system as Infrastructure standalone node
20180131040528:INFO:Starting service [dcerpc]
20180131040528:INFO:Starting service [vmdns]
20180131040528:INFO:Starting service [vmafd]
20180131040530:INFO:Starting service [vmdir]
20180131040533:INFO:Starting service [vmca]
20180131040534:INFO:Setting various configuration values
20180131040535:INFO:Promoting directory service to be domain controller
20180131040602:INFO:Setting up the logical deployment unit
20180131040602:INFO:Setting up VMware Certificate Authority
20180131040602:INFO:Adding VMCA's root certificate to VMware endpoint certificate store
20180131040602:INFO:Generating Machine SSL cert
139639972570800:error:0906D06C:lib(9):func(109):reason(108):pem_lib.c:708:Expecting: CERTIFICATE
20180131040602:INFO:Setting Machine SSL certificate
20180131040602:INFO:Publishing Machine SSL certificate for directory service
20180131040602:INFO:Restarting service [vmdir]
Domain Controller setup was successful
Secure Token Service Installation - Started

-----Checking Authentication service-----
Authentication Service checked successfully.

-----Checking Directory service-----
Jan 31, 2018 4:06:07 AM com.vmware.identity.interop.ldap.OpenLdapClientLibrary
INFO: SSL library initialized successfully
Directory Service checked successfully.

-----Checking Certificate service-----
Certificate Service checked successfully.
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'org.apache.logging.log4j.simplelog.StatusLogger.level' to TRACE to show Log4j2 internal initialization logging.

-----Begin installing components-----
VMware Identity Manager
VMware Secure Token Service
Lightwave UI

Begin installing component: vmware-identity-manager
Installed vmware-identity-manager succesfully.

Begin installing component: vmware-secure-token-service
com.vmware.identity.configure.SecureTokenServerInstallerException: Failed to start STS service [error code: 1]
at com.vmware.identity.configure.SecureTokenServerInstaller.startSTSService(SecureTokenServerInstaller.java:130)
at com.vmware.identity.configure.SecureTokenServerInstaller.install(SecureTokenServerInstaller.java:93)
at com.vmware.identity.configure.VMIdentityController.setupInstance(VMIdentityController.java:226)
at com.vmware.identity.configure.VMIdentityController.setupInstanceStandalone(VMIdentityController.java:52)
at com.vmware.identity.configure.VMIdentityStandaloneInstaller.main(VMIdentityStandaloneInstaller.java:74)
Failed to start STS service [error code: 1]
vmware-secure-token-service installation failed.
Installation failed.
Errorcode: -1com.vmware.identity.configure.DomainControllerNativeException: com.vmware.identity.configure.SecureTokenServerInstallerException: Failed to start STS service [error code: 1]
at com.vmware.identity.configure.VMIdentityController.setupInstance(VMIdentityController.java:236)
at com.vmware.identity.configure.VMIdentityController.setupInstanceStandalone(VMIdentityController.java:52)
at com.vmware.identity.configure.VMIdentityStandaloneInstaller.main(VMIdentityStandaloneInstaller.java:74)
Caused by: com.vmware.identity.configure.SecureTokenServerInstallerException: Failed to start STS service [error code: 1]
at com.vmware.identity.configure.SecureTokenServerInstaller.startSTSService(SecureTokenServerInstaller.java:130)
at com.vmware.identity.configure.SecureTokenServerInstaller.install(SecureTokenServerInstaller.java:93)
at com.vmware.identity.configure.VMIdentityController.setupInstance(VMIdentityController.java:226)
... 2 more
Failed to start Secure Token Service.
Secure Token Service Installation - Failed
ro

Incompatible java version

When installing lightwave server via tdnf install vmware-lightwave-server, jre 1.8.0.131 is installed:

root@ip-172-20-40-102 [ ~ ]# tdnf -y install vmware-lightwave-server

Installing:
...
openjre                                                    x86_64                1.8.0.131-1.ph1                            219.34 M
...
Complete!

This is not the expected version:

root@ip-172-20-40-102 [ ~ ]# export PATH=$PATH:/opt/vmware/bin:/opt/likewise/bin
root@ip-172-20-40-102 [ ~ ]# configure-lightwave-server --domain kops.bjung.net --password 'VMware!1' --hostname 34.210.152.203
Deploying in standalone mode...
/opt/vmware/bin/configure-lightwave-server: line 364: /var/opt/OpenJDK-1.8.0.112-bin/bin/java: No such file or directory
/opt/vmware/bin/configure-lightwave-server: line 386: /var/opt/OpenJDK-1.8.0.112-bin/bin/java: No such file or directory
PSC Installation failed.

I updated the scripts in /opt/vmware/bin and was able to continue. Though this seems rather brittle.

There should be more than 1 docker image

The docker image is treating a container as a VM. Instead there should be several containers, none of them should include systemd. A docker image should represent a single executable. Containers are like processes with resource limits attached to them.

if the process you run inside the docker container needs forking you need to make sure you run a thing as PID 1 that reaps zombies. This is an excellent example of such an init: https://github.com/Yelp/dumb-init

A docker container should also not use a SSH server you can use docker exec to enter a namespace with a shell.

For multiple docker containers to work together you can use a docker-compose file.

password rules

The password rules forces hard to remember passwords. I was wondering if it would be possible to have a complexity score instead of requiring different character types.

A 21 char all lower case string is a stronger password than a 6 char string with 4 different character classes.

For example:
AB.word5 takes a dumb program about 60 minutes to crack

life is great on earth takes that same dumb program centuries to crack

javah not found

Hi,

while running bootstrapping on the current Photon, I get configure errors:

  • javah is not available
    configure: error: DCERPC IDL compiler not found

403 error while attempting to access repos

Describe the bug
A clear and concise description of what the bug is.

Impact

  • Low - Not really in your way but annoyance
  • Medium - Can be worked around
  • High - Blocker

Expected behavior

I was expecting 'yum repolist' to return information about the repo.

Observed behavior

https://dl.bintray.com/vmware/photon_extras/repodata/repomd.xml: [Errno 14] HTTPS Error 403 - Forbidden
Trying other mirror.
To address this issue please refer to the below wiki article

https://wiki.centos.org/yum-errors

If above article doesn't help to resolve this issue please use https://bugs.centos.org/.

https://dl.bintray.com/vmware/photon_extras/repodata/repomd.xml: [Errno 14] HTTPS Error 403 - Forbidden

To Reproduce
Steps to reproduce the behavior:

  1. sudo yum-config-manager --add-repo https://dl.bintray.com/vmware/photon_extras
  2. yum repolist
  3. do not profit

Environment:

Additional context
Ideally I'm hoping to mirror via Cobbler, if that's any help.

Lightwave UI is not functional after fresh installation

Deployed OVA "photon-hw13_uefi-3.0-a383732" within fusion 12
Followed the following installation process:

  1. tdnf install -y lightwave
  2. rpm -q --scripts openjre8 | grep -v postuninstall | grep -v posttrans > /tmp/test.sh
  3. mv /etc/alternatives/jre/lib/ext /tmp
  4. rm -rf /etc/alternatives/jre
  5. bash /tmp/test.sh
  6. mv /tmp/ext/*.jar /etc/alternatives/jre/lib/ext/
  7. Edit /etc/hosts entries as per https://github.com/vmware/lightwave#set-up-the-hostname-for-the-instance
Essentially, if the domain name is going to be lightwave.local and your hostname is photon-test, hostname should return photon-test and hostname -f should return photon-test.lightwave.local
  8. /usr/bin/configure-lightwave-server --domain lightwave.local --password 'VMware123$'

When trying to access https://host.lightwave.local from my mac gives a blank page on Chrome, Firefox and Safari.

Used nmap to see if the ports were open:
Nmap scan report for 192.168.1.100
Host is up (0.00040s latency).
Not shown: 993 closed ports
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
88/tcp open kerberos-sec
135/tcp open msrpc
389/tcp open ldap
443/tcp open https
| http-enum:
|_ /metrics/: Spring Boot Actuator endpoint
636/tcp open ldapssl

Nmap done: 1 IP address (1 host up) scanned in 8.55 seconds

The page for metrics (https://host.lightwave.local/metrics) does work but nothing else does.

Failed to build container on `master` branch

User Statement:

Hi this is Lubron from VIC team.
I tried to build Lightwave container based on Lightwave source code on branch master, but failed

Details:
I've tried to build LW container based on Lightwave Source code.
So I clone the source code and checkout master
Then run make container

But failed with

Package sed-4.2.2 is already installed.
Found 1 problem(s) while resolving
1. package vmware-lightwave-server-6.6.3-0.x86_64 requires vmware-directory = 6.6.3, but none of the providers can be installed
Error(1301) : Hawkey general runtime error
The command '/bin/sh -c tdnf update --refresh -y         tdnf         rpm-4.11.2         pcre-8.39         openssl-1.0.2j         expat-2.2.0         curl-7.51         bzip2-1.0.6 &&     tdnf install -y         apache-tomcat-8.0.37         boost-1.60.0         commons-daemon-1.0.15-7.ph1.x86_64         likewise-open-6.2.10         openjre-1.8.0.102         procps-ng-3.3.11         sed-4.2.2         vmware-lightwave-server-6.6.3 &&     rpm -e --nodeps systemd &&     mkdir -p /var/run/sshd &&     chmod -rx /var/run/sshd &&     rm -rf /usr/share/doc/* &&     rm -rf /usr/share/man/* &&     rm -rf /usr/include/* &&     /opt/likewise/sbin/lwsmd --start-as-daemon &&     /opt/likewise/bin/lwregshell set_value "[HKEY_THIS_MACHINE\\Services\\vmafd]"         Arguments "/opt/vmware/sbin/vmafdd -c" &&     /opt/likewise/bin/lwregshell set_value "[HKEY_THIS_MACHINE\\Services\\vmca]"          Arguments "/opt/vmware/sbin/vmcad -c" &&     /opt/likewise/bin/lwregshell set_value "[HKEY_THIS_MACHINE\\Services\\vmdir]"         Arguments "/opt/vmware/sbin/vmdird -l 0 -f /opt/vmware/share/config/vmdirschema.ldif" &&     /opt/likewise/bin/lwregshell set_value "[HKEY_THIS_MACHINE\\Services\\vmdns]"         Arguments "/opt/vmware/sbin/vmdnsd"' returned a non-zero code: 21
Failed to build docker image

Env:
OS: Photon OS 1.0 - photon-1.0-13c08b6.iso
Pre-installed Pkg:
       commons-daemon-1.0.15-7.ph1.x86_64
       openjre-1.8.0.102
       apache-tomcat-8.0.37
       likewise-open-devel-6.2.11
       boost-devel-1.60.0
       jansson-devel
       apache-maven-3.3.9-6.ph1.noarch
       apache-ant-1.9.6-4.ph1.noarch
       ant-contrib-1.0b3-8.ph1
       jaxws-ri-2.2.10-2.ph1

configure-lightwave-server fails with java.security.KeyStoreException

Below is the error. I'm not sure how to get past:

root@ip-172-20-40-102 [ /opt ]# configure-lightwave-server --domain kops.bjung.net --password '*****' --hostname 34.210.152.203
Deploying in standalone mode...

-----Begin installing components-----
VMware Authentication Framework

Begin installing component: vmware-authentication-framework
140540224489112:error:0906D06C:lib(9):func(109):reason(108):pem_lib.c:701:Expecting: CERTIFICATE
Installed vmware-authentication-framework succesfully.
Installation completed successfully.


-----Checking Authentication service-----
Authentication Service checked successfully.

-----Checking Directory service-----
Directory Service checked successfully.

-----Checking Certificate service-----
Certificate Service checked successfully.

-----Begin installing components-----
VMware Identity Manager
VMware Secure Token Service
Lightwave UI

Begin installing component: vmware-identity-manager
Installed vmware-identity-manager succesfully.

Begin installing component: vmware-secure-token-service
java.security.KeyStoreException: VKS not found
	at java.security.KeyStore.getInstance(KeyStore.java:851)
	at com.vmware.identity.configure.STSHealthChecker.getVksKeyStore(STSHealthChecker.java:131)
	at com.vmware.identity.configure.STSHealthChecker.checkHealth(STSHealthChecker.java:83)
	at com.vmware.identity.configure.SecureTokenServerInstaller.install(SecureTokenServerInstaller.java:99)
	at com.vmware.identity.configure.VMIdentityController.setupInstance(VMIdentityController.java:226)
	at com.vmware.identity.configure.VMIdentityController.setupInstanceStandalone(VMIdentityController.java:52)
	at com.vmware.identity.configure.VMIdentityStandaloneInstaller.main(VMIdentityStandaloneInstaller.java:74)
Caused by: java.security.NoSuchAlgorithmException: VKS KeyStore not available
	at sun.security.jca.GetInstance.getInstance(GetInstance.java:159)
	at java.security.Security.getImpl(Security.java:695)
	at java.security.KeyStore.getInstance(KeyStore.java:848)
	... 6 more
VKS not found
vmware-secure-token-service installation failed.
Installation failed.
Errorcode: -1com.vmware.identity.configure.DomainControllerNativeException: java.security.KeyStoreException: VKS not found
	at com.vmware.identity.configure.VMIdentityController.setupInstance(VMIdentityController.java:236)
	at com.vmware.identity.configure.VMIdentityController.setupInstanceStandalone(VMIdentityController.java:52)
	at com.vmware.identity.configure.VMIdentityStandaloneInstaller.main(VMIdentityStandaloneInstaller.java:74)
Caused by: java.security.KeyStoreException: VKS not found
	at java.security.KeyStore.getInstance(KeyStore.java:851)
	at com.vmware.identity.configure.STSHealthChecker.getVksKeyStore(STSHealthChecker.java:131)
	at com.vmware.identity.configure.STSHealthChecker.checkHealth(STSHealthChecker.java:83)
	at com.vmware.identity.configure.SecureTokenServerInstaller.install(SecureTokenServerInstaller.java:99)
	at com.vmware.identity.configure.VMIdentityController.setupInstance(VMIdentityController.java:226)
	... 2 more
Caused by: java.security.NoSuchAlgorithmException: VKS KeyStore not available
	at sun.security.jca.GetInstance.getInstance(GetInstance.java:159)
	at java.security.Security.getImpl(Security.java:695)
	at java.security.KeyStore.getInstance(KeyStore.java:848)
	... 6 more
PSC Installation failed.

How to separate Certificate store component from others.

I am doing a personal project on IoT devices and looking for windows certificate store alternative in Linux. In my initial look light wave is designed for Linux container host security & usage.
a. Is there any architecture diagram that shows inter connection between various features present in light wave.
b. currently i see it is supported only for X86 & x64, any plans to support arm & arm64
c. May I know what is the storage needs to use light wave.
d. Can certificate store component separated from other component and use it independently.

You can also reach out to us via:

Import users from existing LDAP

Hi,
I'm using the integrated Lightwave that comes with Photon Controller. Lightwave is here primarily used to provide an authorization/authentication system. I wanted to know if there's any way to import existing users from an external LDAP service (AD or OpenLDAP). And for example, putting them in a generic/non-privileged security group by default.

Or maybe, use another LDAP service as backend ?

My problem is the following : we already got a functional LDAP, containing our users, and I don't want to script something ugly to replicate users (without their passwords...) or just ask to every user to create a new account at first connection on Lightwave.

Error when deploying lightwaveui.war

Hello,

I'm getting the following error message when executin systemctl restart vmware-stsd that prevent me to access https://lw-1.photon.com

09-May-2017 19:56:26.134 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive /opt/vmware/vmware-sts/webapps/lightwaveui.war
09-May-2017 19:56:26.513 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/lightwaveui]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/lightwaveui] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was [org.bouncycastle.asn1.ASN1EncodableVector->org.bouncycastle.asn1.DEREncodableVector->org.bouncycastle.asn1.ASN1EncodableVector]
        at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2110)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2054)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:2000)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1970)
        at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1923)
        at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1163)
        at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:775)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5087)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 10 more

09-May-2017 19:56:26.513 SEVERE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive /opt/vmware/vmware-sts/webapps/lightwaveui.war
 java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/lightwaveui]]
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:756)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

09-May-2017 19:56:26.514 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive /opt/vmware/vmware-sts/webapps/lightwaveui.war has finished in 380 ms

could you help me to solve this issue ?

vm.cpu 2
vm.memory 4096

Bind Lightwave with non-443 port

We need to deploy LW as container running in a VM with Harbor and Admiral. As we have other services running on the VM, we cannot have the 443 port tied to the LW container.

We modified the code on branch v1.0, and got a customized LW version attached to 2443.

This will led to a problem during upgrades. Having custom port supported by lightwave is an important requirement for VIC product to integrate successfully.

system journal fills with errors: _VmDirConsumePartner failed, error code (51)

Describe the bug
Once lightwave is installed on two domain controllers, the logs fill with errors like:

Dec 31 21:53:49 dc01 vmdird[1532]: t@139860643936000: _VmDirConsumePartner failed, error code (51) Dec 31 21:54:10 dc01 vmdird[1532]: t@139860643936000: _VmDirConsumePartner failed, error code (51) Dec 31 21:54:34 dc01 vmdird[1532]: t@139860643936000: _VmDirConsumePartner failed, error code (51) Dec 31 21:54:36 dc01 vmdird[1532]: t@139860643936000: _VmDirConsumePartner failed, error code (51) Dec 31 21:55:38 dc01 vmdird[1532]: t@139860643936000: _VmDirConsumePartner failed, error code (51)

From looking at the source code, it appears that error code 51 is "LDAP SERVER BUSY". I have found some references to this pertaining to OpenLDAP and Microsoft's AD LDAP implementation. However, neither domain controller is overly busy, CPU utilization less than 5% generally with 0.2 load average.

Impact

  • Low - Not really in your way but annoyance
  • Medium - Can be worked around
  • High - Blocker

Expected behavior
Unclear. I can't tell if there is a problem or not. Changes to the directory (like create a user) seem to work correctly and get replicated to peers.

Observed behavior
The error seems to imply that there is a communication problem between domain controller nodes. The by product of this is that the logs are filled with these messages about every 40 seconds or so. There are times during which this message is not logged, but those often occur when the systems (in the "lab") are not being used for much of anything, so I'm not sure if these log lines are indication of an actual problem.

To Reproduce
Steps to reproduce the behavior:

  1. Install and configure lightwave on first node.
  2. Replace default certificates with enterprise signed CA
  3. Add a secondary node to domain
  4. Check logs, see error

Environment:

  • OS: Photon 2.0, PHOTON_BUILD_NUMBER=0922243
  • Lightwave Version: 1.3.1.7-1.ph2
  • Likewise version: 6.2.11.4-4.ph2

Additional context
As noted above, the only deviation from a very default install in my case was that I replaced the default certificate on the first node with one signed by our enterprise CA. Note however that the same problem occurs even with a fully default configuration, that is, with no customizations at all.

slow login because vmdns doesn't support URI dns query type (type: 256)

Describe the bug
When logging into a client computer joined to a Lightwave domain controller, the login is very slow. While investigating, I see the client sending DNS queries of Type: URI for Name: _kerberos.domain.tld
Here's an example of the network activity:

05:38:28.178441 IP (tos 0x0, ttl 64, id 11855, offset 0, flags [DF], proto UDP (17), length 70) 192.168.3.120.45059 > 192.168.3.122.53: 7969+ Type256? _kerberos.WORLD.UNIVERSE. (42) 05:38:28.178640 IP (tos 0x0, ttl 64, id 45262, offset 0, flags [DF], proto UDP (17), length 70) 192.168.3.122.36804 > 10.0.100.10.53: 7969+ Type256? _kerberos.WORLD.UNIVERSE. (42) 05:38:33.174330 IP (tos 0x0, ttl 63, id 44435, offset 0, flags [none], proto UDP (17), length 81) 10.0.100.10.53 > 192.168.3.122.55392: 6637 ServFail 0/0/1 (53) 05:38:33.174357 IP (tos 0x0, ttl 63, id 44436, offset 0, flags [none], proto UDP (17), length 70) 10.0.100.10.53 > 192.168.3.122.36804: 7969 ServFail 0/0/0 (42) 05:38:33.174469 IP (tos 0x0, ttl 64, id 11184, offset 0, flags [DF], proto UDP (17), length 70) 192.168.3.122.53 > 192.168.3.120.45059: 7969 ServFail 0/0/0 (42)

In this trace, 192.168.3.120 is the client, 192.168.3.122 is the domain controller, and 10.0.100.10 is the upstream DNS server the domain contoller uses as DNS Forwarder.

It appears to show a dns query for a type 256 (URI) query for "_kerberos.world.universe" from client to server. the server is unable to answer, so sends it up stream to forwarder. Forwarder is unable to answer (now we have a loop), so returns SERVFAIL which the domain controller then passes back to the client.

Impact

  • Low - Not really in your way but annoyance
  • Medium - Can be worked around
  • High - Blocker

Expected behavior
I would expect that vmdns could answer Type 256 / URI queries, or at the very least, that vmdns returns NXDOMAIN for a resource record query for a name in a domain for which it is authoritative does not exist. Returning NXDOMAIN from the domain controller would allow the client to continue and the login to complete much faster.

Observed behavior
vmdns forwards the query to forwarder. the forwarder is configured to forward queries for the "world.universe" domain to the domain controllers, so now there is a query loop. Therefore, the upstream forwarder returns SERVFAIL, which the domain controller forwards back to the originating client.

To Reproduce
Steps to reproduce the behavior:

  1. set up lightwave domain controller, pretty much default configuration
  2. join a client to the domain
    3.create a user account in the domain
  3. enable pam and nsswitch on the client using domain-join configure --enable commands
  4. attempt to ssh login to the client with the test user account
  5. notice that the login takes a long time.

during login, capture packets to see above.

Environment:

  • OS: photon 2.0, PHOTON_BUILD_NUMBER=0922243

  • Lightwave Version:
    lightwave-client-libs-1.3.1.7-1.ph2.x86_64 lightwave-1.3.1.7-1.ph2.x86_64 lightwave-client-1.3.1.7-1.ph2.x86_64

  • Likewise version:
    likewise-open-6.2.11.4-4.ph2.x86_64

Additional context
Add any other context about the problem here.

Build from source fails

Hi,

I tried to build the RPM packages yesterday on two different photon machines but it always failed at the same step:

compile: [call-javac] Compiling 21 source files to /tmp/lightwave/vmafd/build/authentication-framework/authentication-framework/classes [call-javac] error: error reading /tmp/lightwave/vmafd/build/depends/jna.jar; error in opening zip file [call-javac] error: error reading /tmp/lightwave/vmafd/build/depends/platform.jar; error in opening zip file [call-javac] error: error reading /tmp/lightwave/vmafd/build/depends/commons-logging-1.1.1.jar; error in opening zip file [call-javac] error: error reading /tmp/lightwave/vmafd/build/depends/commons-lang-2.5.jar; error in opening zip file [call-javac] warning: [options] bootstrap class path not set in conjunction with -source 1.7 [call-javac] 4 errors [call-javac] 1 warning

BUILD FAILED /tmp/lightwave/vmafd/interop/java/build.xml:15: The following error occurred while executing this line: /tmp/lightwave/vmafd/build/ant/buildcycle-template.xml:80: Compile failed; see the compiler error output for details.

Total time: 0 seconds Makefile:585: recipe for target '../../authentication-framework/packages/authentication-framework.jar' failed make[4]: *** [../../authentication-framework/packages/authentication-framework.jar] Error 1 make[4]: Leaving directory '/tmp/lightwave/vmafd/build/interop/java' Makefile:446: recipe for target 'install-recursive' failed make[3]: *** [install-recursive] Error 1 make[3]: Leaving directory '/tmp/lightwave/vmafd/build/interop' Makefile:480: recipe for target 'install-recursive' failed make[2]: *** [install-recursive] Error 1 make[2]: Leaving directory '/tmp/lightwave/vmafd/build' error: Bad exit status from /var/tmp/rpm-tmp.HqTeLj (%install)

RPM build errors: Bad exit status from /var/tmp/rpm-tmp.HqTeLj (%install) Makefile.bootstrap:69: recipe for target 'package' failed make[1]: *** [package] Error 1 make[1]: Leaving directory '/tmp/lightwave/vmafd/build' Makefile:156: recipe for target '/tmp/lightwave/vmafd/build/rpmbuild/RPMS/x86_64/vmware-afd-6.6.0-4.x86_64.rpm' failed make: *** [/tmp/lightwave/vmafd/build/rpmbuild/RPMS/x86_64/vmware-afd-6.6.0-4.x86_64.rpm] Error 2

A couple of them were successfully created though so the pre-reqs are met:
vmware-directory-6.6.0-4.x86_64.rpm
vmware-directory-client-6.6.0-4.x86_64.rpm
vmware-directory-client-devel-6.6.0-4.x86_64.rpm
vmware-dns-6.6.0-3.x86_64.rpm
vmware-dns-client-6.6.0-3.x86_64.rpm
vmware-dns-client-devel-6.6.0-3.x86_64.rpm
vmware-event-devel-6.6.0-2.x86_64.rpm

Btw. additionally I had to install apache-ant and ant-contrib not just the mentioned likewise-open-devel package.

I the meantime I simply go with the pre-built ones.

Thanks

Gregor

Ubuntu builds fail with missing symbols

Describe the bug
When following the build instructions for Ubuntu 17.04 (as described on the Lightwave Wiki), builds fail because of missing symbols that appear to be Windows specific.

Impact

  • Low - Not really in your way but annoyance
  • Medium - Can be worked around
  • [ X ] High - Blocker

Expected behavior
I expected the build to complete without errors.

Observed behavior
The build fails with the following message:

/bin/bash ../../libtool  --tag=CC   --mode=link gcc -Wall -Werror -fno-strict-aliasing -Wall -Werror -Wno-unused-but-set-variable -Wno-pointer-sign -Wno-implicit-function-declaration -Wno-address -Wno-enum-compare -L/opt/likewise/lib64 -Wl,-rpath,/opt/likewise/lib64 -Wl,-rpath-link,/opt/likewise/lib64 -ldl -o vmcommon_test vmcommon_test-countertest.o vmcommon_test-gaugetest.o vmcommon_test-histogramtest.o vmcommon_test-mixedtest.o vmcommon_test-vmhttpclienttest.o vmcommon_test-vmsignaturetest.o vmcommon_test-vmjsonresulttest.o vmcommon_test-main.o ../../vmcommon/libvmcommon.la -llwbase -llwbase_nothr -ldl
libtool: link: gcc -Wall -Werror -fno-strict-aliasing -Wall -Werror -Wno-unused-but-set-variable -Wno-pointer-sign -Wno-implicit-function-declaration -Wno-address -Wno-enum-compare -Wl,-rpath -Wl,/opt/likewise/lib64 -Wl,-rpath-link -Wl,/opt/likewise/lib64 -o .libs/vmcommon_test vmcommon_test-countertest.o vmcommon_test-gaugetest.o vmcommon_test-histogramtest.o vmcommon_test-mixedtest.o vmcommon_test-vmhttpclienttest.o vmcommon_test-vmsignaturetest.o vmcommon_test-vmjsonresulttest.o vmcommon_test-main.o  -L/opt/likewise/lib64 ../../vmcommon/.libs/libvmcommon.so /opt/likewise/lib64/liblwbase.so /opt/likewise/lib64/liblwbase_nothr.so -ldl -pthread -Wl,-rpath -Wl,/opt/vmware/lib64 -Wl,-rpath -Wl,/opt/likewise/lib64
../../vmcommon/.libs/libvmcommon.so: undefined reference to `LwInterlockedIncrement64'
../../vmcommon/.libs/libvmcommon.so: undefined reference to `LwInterlockedSubtract64'
../../vmcommon/.libs/libvmcommon.so: undefined reference to `LwInterlockedAdd64'
../../vmcommon/.libs/libvmcommon.so: undefined reference to `LwInterlockedDecrement64'
../../vmcommon/.libs/libvmcommon.so: undefined reference to `LwInterlockedExchange64'```

These appear to be Windows symbols. I'm not aware of a library that provides them for Linux.

To Reproduce
Follow the provided instructions for installing Lightwave on Ubuntu as described here on a clean VM of Ubuntu 17.10.

Environment:

  • OS: Ubuntu 17.10, as a Virtualbox VM provisioned by Vagrant
  • Lightwave Version: From source at commit 55ebc8ee243c5b28d0a155c4a3364236b1f02048
  • Likewise version: 6.2.11

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.